QOJ.ac

QOJ

時間限制: 2.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#12101. 红蓝表

统计

Aidos 和 Tima 正在一个 $N \times M$ 的表格上玩一个有趣的游戏。他们有无限多红、蓝两种颜色的棋子。他们想要填满整个表格,使得每个格子恰好包含一个棋子。

Aidos 喜欢那些红棋子数量严格多于蓝棋子数量的行。记这样的行数为 $A$。

Tima 喜欢那些蓝棋子数量严格多于红棋子数量的列。记这样的列数为 $B$。

由于他们只有一个表格,他们决定不互相干扰,并以使得 Aidos 喜欢的行数与 Tima 喜欢的列数之和尽可能大的方式填满表格。

形式化地说,他们试图最大化表达式 $A + B$ 的值。

请帮助他们填满这个表格。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 1000$),表示测试用例的数量。

接下来的 $T$ 行,每行包含两个整数 $N, M$ ($1 \le N, M \le 1000$)。保证所有测试用例中 $N \cdot M$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例,输出 $N + 1$ 行。第一行输出 $A + B$ 的最大值。接下来的 $N$ 行,每行输出 $M$ 个字符('+' 表示红棋子,'-' 表示蓝棋子)。如果存在多种方案,输出其中任意一种即可。

子任务

本题包含六个子任务:

  1. $1 \le T \le 16, 1 \le N, M \le 4$。分值 17 分。
  2. $1 \le T \le 1000, 1 \le N, M \le 50, \min(N, M) \le 3$。分值 10 分。
  3. $1 \le T \le 1000, 1 \le N, M \le 50, \min(N, M) \le 5$。分值 16 分。
  4. $1 \le T \le 1000, 1 \le N, M \le 1000$,$N$ 和 $M$ 均为奇数。分值 11 分。
  5. $1 \le T \le 1000, 1 \le N, M \le 1000, N = M$。分值 15 分。
  6. $1 \le T \le 1000, 1 \le N, M \le 1000$。分值 31 分。

样例

样例输入 1

2
1 3
3 3

样例输出 1

3
---
4
+-+
+-+
+++

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.