A16317 | Colorful Grid
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Elena has a grid formed by $n$ horizontal lines and $m$ vertical lines. The horizontal lines are numbered by integers from $1$ to $n$ from top to bottom. The vertical lines are numbered by integers from $1$ to $m$ from left to right. For each $x$ and $y$ ( $1 \leq x \leq n$ , $1 \leq y \leq m$ ), the notation $(x, y)$ denotes the point at the intersection of the $x$ -th horizontal line and $y$ -th vertical line.
Two points $(x_1,y_1)$ and $(x_2,y_2)$ are adjacent if and only if $|x_1-x_2| + |y_1-y_2| = 1$ .
 The grid formed by $n=4$ horizontal lines and $m=5$ vertical lines.Elena calls a sequence of points $p_1, p_2, \ldots, p_g$ of length $g$ a walk if and only if all the following conditions hold:
- The first point $p_1$ in this sequence is $(1, 1)$ .
- The last point $p_g$ in this sequence is $(n, m)$ .
- For each $1 \le i < g$ , the points $p_i$ and $p_{i+1}$ are adjacent.
Note that the walk may contain the same point more than once. In particular, it may contain point $(1, 1)$ or $(n, m)$ multiple times.
There are $n(m-1)+(n-1)m$ segments connecting the adjacent points in Elena's grid. Elena wants to color each of these segments in blue or red color so that there exists a walk $p_1, p_2, \ldots, p_{k+1}$ of length $k+1$ such that
- out of $k$ segments connecting two consecutive points in this walk, no two consecutive segments have the same color (in other words, for each $1 \le i < k$ , the color of the segment between points $p_i$ and $p_{i+1}$ differs from the color of the segment between points $p_{i+1}$ and $p_{i+2}$ ).
Please find any such coloring or report that there is no such coloring.
Two points $(x_1,y_1)$ and $(x_2,y_2)$ are adjacent if and only if $|x_1-x_2| + |y_1-y_2| = 1$ .
 The grid formed by $n=4$ horizontal lines and $m=5$ vertical lines.Elena calls a sequence of points $p_1, p_2, \ldots, p_g$ of length $g$ a walk if and only if all the following conditions hold:
- The first point $p_1$ in this sequence is $(1, 1)$ .
- The last point $p_g$ in this sequence is $(n, m)$ .
- For each $1 \le i < g$ , the points $p_i$ and $p_{i+1}$ are adjacent.
Note that the walk may contain the same point more than once. In particular, it may contain point $(1, 1)$ or $(n, m)$ multiple times.
There are $n(m-1)+(n-1)m$ segments connecting the adjacent points in Elena's grid. Elena wants to color each of these segments in blue or red color so that there exists a walk $p_1, p_2, \ldots, p_{k+1}$ of length $k+1$ such that
- out of $k$ segments connecting two consecutive points in this walk, no two consecutive segments have the same color (in other words, for each $1 \le i < k$ , the color of the segment between points $p_i$ and $p_{i+1}$ differs from the color of the segment between points $p_{i+1}$ and $p_{i+2}$ ).
Please find any such coloring or report that there is no such coloring.
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \leq t \leq 32$ ). The description of test cases follows.
The only line of each test case contains three integers $n$ , $m$ , and $k$ ( $3 \leq n,m \leq 16$ , $1 \leq k \leq 10^9$ ) — the dimensions of the grid and the number of segments in the walk Elena is looking for.
The only line of each test case contains three integers $n$ , $m$ , and $k$ ( $3 \leq n,m \leq 16$ , $1 \leq k \leq 10^9$ ) — the dimensions of the grid and the number of segments in the walk Elena is looking for.
输出格式
For each test case, output "NO" if it is not possible to color each of the $n(m-1)+(n-1)m$ segments in blue or red color, so that there exists a walk of length $k+1$ satisfying the condition from the statement.
Otherwise, output in the first line "YES", and then provide the required coloring.
In each of the first $n$ lines of coloring description, output $m-1$ space-separated characters. The $j$ -th character in the $i$ -th of these $n$ lines should denote the color of the segment between points $(i,j)$ and $(i,j+1)$ . Here, use 'B' to denote the blue color and 'R' to denote the red color.
In each of the next $n-1$ lines of coloring description, output $m$ space-separated characters. The $j$ -th character in the $i$ -th of these $n-1$ lines should denote the color of the segment between points $(i,j)$ and $(i+1,j)$ . Similarly, use 'B' to denote the blue color and 'R' to denote the red color.
You can output each letter in the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses, and both 'R' and 'r' are valid notation of red.
Otherwise, output in the first line "YES", and then provide the required coloring.
In each of the first $n$ lines of coloring description, output $m-1$ space-separated characters. The $j$ -th character in the $i$ -th of these $n$ lines should denote the color of the segment between points $(i,j)$ and $(i,j+1)$ . Here, use 'B' to denote the blue color and 'R' to denote the red color.
In each of the next $n-1$ lines of coloring description, output $m$ space-separated characters. The $j$ -th character in the $i$ -th of these $n-1$ lines should denote the color of the segment between points $(i,j)$ and $(i+1,j)$ . Similarly, use 'B' to denote the blue color and 'R' to denote the red color.
You can output each letter in the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses, and both 'R' and 'r' are valid notation of red.
输入输出样例
输入 #1
5 4 5 11 3 3 2 3 4 1000000000 3 3 12588 4 4 8
输出 #1
YES R R B B R R R R B B B R R R B B R B B R B R B B B B B B R R R NO NO YES R B B B B R B B R R B B YES B B R R B R B R R R R B B R R B B B B B B R R R
In the first test case, one of the correct answers is shown in the picture below. The color-alternating walk of length $12$ is highlighted.
In the second and the third test cases, it can be shown that there is no coloring satisfying the condition from the statement.
In the second and the third test cases, it can be shown that there is no coloring satisfying the condition from the statement.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted