CF1503B.3-Coloring

普及+/提高

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This is an interactive problem.

Alice and Bob are playing a game. There is n×nn\times n grid, initially empty. We refer to the cell in row ii and column jj by (i,j)(i, j) for 1≤i,j≤n1\le i, j\le n. There is an infinite supply of tokens that come in 33 colors labelled 11, 22, and 33.

The game proceeds with turns as follows. Each turn begins with Alice naming one of the three colors, let's call it aa. Then, Bob chooses a color b≠ab\ne a, chooses an empty cell, and places a token of color bb on that cell.

We say that there is a conflict if there exist two adjacent cells containing tokens of the same color. Two cells are considered adjacent if they share a common edge.

If at any moment there is a conflict, Alice wins. Otherwise, if n2n^2 turns are completed (so that the grid becomes full) without any conflicts, Bob wins.

We have a proof that Bob has a winning strategy. Play the game as Bob and win.

The interactor is adaptive. That is, Alice's color choices can depend on Bob's previous moves.

Interaction

The interaction begins by reading a single integer nn (2≤n≤1002\le n\le 100) — the size of the grid.

The turns of the game follow. You should begin each turn by reading an integer aa (1≤a≤31\le a\le 3) — Alice's chosen color.

Then you must print three integers b,i,jb,i,j (1≤b≤3,b≠a,1≤i,j≤n1\le b\le 3,b\ne a, 1\le i,j\le n) — denoting that Bob puts a token of color bb in the cell (i,j)(i, j). The cell (i,j)(i, j) must not contain a token from a previous turn. If your move is invalid or loses the game, the interaction is terminated and you will receive a Wrong Answer verdict.

After n2n^2 turns have been completed, make sure to exit immediately to avoid getting unexpected verdicts.

After printing something do not forget to output end of line and flush the output. Otherwise, you will get Idleness limit exceeded. To do this, use:

  • fflush(stdout) or cout.flush() in C++;
  • System.out.flush() in Java;
  • flush(output) in Pascal;
  • stdout.flush() in Python;
  • see documentation for other languages.

Hack Format

To hack, use the following format.

The first line contains a single integer nn (2≤n≤1002\le n\le 100).

The second line contains n2n^2 integers a1,…,an2a_1,\ldots,a_{n^2} (1≤ai≤31\le a_i\le 3), where aia_i denotes Alice's color on the ii-th turn.

The interactor might deviate from the list of colors in your hack, but only if it forces Bob to lose.

这是一个交互式问题。

爱丽丝(Alice)和鲍勃(Bob)正在玩一个游戏。有一个 n×nn\times n 的网格,初始时为空。我们将第 ii 行、第 jj 列的格子记为 (i,j)(i, j),其中 1≤i,j≤n1\le i, j\le n。有无限供应的标记物(token),共 33 种颜色,分别标号为 11、22 和 33。

游戏按回合进行,规则如下:每回合开始时,爱丽丝指定三种颜色之一,记作 aa;随后鲍勃选择一个与 aa 不同的颜色 bb(即 b≠ab \ne a),再选择一个空格子,并在该格子上放置一个颜色为 bb 的标记物。

若存在两个相邻格子,其上的标记物颜色相同,则称出现冲突。两个格子相邻当且仅当它们共享一条公共边。

若在任意时刻发生冲突,则爱丽丝获胜;否则,若经过 n2n^2 回合后网格被填满且始终无冲突,则鲍勃获胜。

我们已证明:鲍勃存在必胜策略。请以鲍勃的身份参与游戏并获胜。

交互器是自适应的,即爱丽丝每轮选择的颜色可依赖于鲍勃此前的所有操作。

交互流程

交互开始时,先读入一个整数 nn(2≤n≤1002\le n\le 100)——表示网格大小。

随后进入游戏回合。每回合开始时,你需要先读入一个整数 aa(1≤a≤31\le a\le 3)——即爱丽丝本轮选定的颜色。

接着,你必须输出三个整数 b,i,jb,i,j(1≤b≤31\le b\le 3,b≠ab\ne a,1≤i,j≤n1\le i,j\le n),表示鲍勃将一个颜色为 bb 的标记物放入格子 (i,j)(i, j)。格子 (i,j)(i, j) 必须在此前未被占用。若你的操作非法(如 b=ab = a、(i,j)(i,j) 已被占用、越界等)或导致失败(如引发冲突),交互将立即终止,你将收到“Wrong Answer”判据。

当完成全部 n2n^2 回合后,请立即退出程序,以免获得非预期的判据。

每次输出后,务必输出换行符并刷新输出缓冲区,否则将收到 “Idleness limit exceeded”。具体方法如下:

  • C++ 中使用 fflush(stdout) 或 cout.flush();
  • Java 中使用 System.out.flush();
  • Pascal 中使用 flush(output);
  • Python 中使用 stdout.flush();
  • 其他语言请查阅相应文档。

Hack 格式

用于 Hack 时,请采用如下格式:

第一行包含一个整数 nn(2≤n≤1002\le n\le 100)。

第二行包含 n2n^2 个整数 a1,…,an2a_1,\ldots,a_{n^2}(1≤ai≤31\le a_i\le 3),其中 aia_i 表示爱丽丝在第 ii 回合所选的颜色。

交互器在 Hack 过程中可能不严格遵循你提供的颜色序列,但仅当该偏离会导致鲍勃失败时才会如此。

输入输出样例

  • 输入#1

    2
    1
    
    2
    
    1
    
    3

    输出#1

    2 1 1
    
    3 1 2
    
    3 2 1
    
    1 2 2

说明/提示

The final grid from the sample is pictured below. Bob wins because there are no two adjacent cells with tokens of the same color. $$\begin{matrix}2&3\\3&1\end{matrix}$$

The sample is only given to demonstrate the input and output format. It is not guaranteed to represent an optimal strategy for Bob or the real behavior of the interactor.

示例的最终网格如下图所示。鲍勃获胜,因为不存在两个相邻的格子中放置了相同颜色的棋子。

2331\begin{matrix}2&3\\3&1\end{matrix}

该示例仅用于说明输入与输出格式。不能保证其体现了鲍勃的最优策略,也不能保证其反映了交互器的真实行为。

输入解题思路,AI测评打分。不知道怎么写?

首页