『PG2』猪棋
题目背景
交互库绝顶聪明。
题目描述
猪棋的规则:
在一个 $1000\times 1000$ 的棋盘上,两人分别执黑棋白棋轮流执子,每次可以在当前没有子的不同位置将两颗子分别放下(有序),如果一颗子放下时出现有 $(x,y),(x+1,y),(x,y+1),(x+1,y+1)$ 的四个位置棋子颜色均相同则执此颜色者获胜。
你将扮演先手,在 $100$ 步内战胜交互库扮演的后手,保证有解。
对于每轮,你可以选择两个坐标 $(x_1,y_1)$ 与 $(x_2,y_2)$ 落子,你首先需要保证 $1\leq x_1,y_1,x_2,y_2\leq 1000$,你其次需要保证没人曾在 $(x_1,y_1)$ 落子,如果此时你获胜了判定结束且你获胜,否则你还需保证没人曾经在 $(x_2,y_2)$ 落子,如果此时你获胜了判定结束且你获胜,否则交互库将返回一组 $x_1,y_1,x_2,y_2$ 表示他在 $(x_1,y_1),(x_2,y_2)$ 落子,保证 $(x_1,y_1)\neq (x_2,y_2),1\leq x_1,y_1,x_2,y_2\leq 1000$,如果此时交互库获胜判定结束且你输了,否则判定棋盘上是否已经有 $400$ 颗子,如果是你获得平局,否则进入你的新一轮。
输入输出格式
输入格式
你每轮结束后从**标准输入**中输入四个整数,代表评测机返回的结果。
输出格式
每轮开始时,你需要向**标准输出**输出四个 $[1,1000]$ 中的整数,**然后清空缓冲区**。
你可以使用如下语句来清空缓冲区:
- 对于 C/C++:`fflush(stdout)`;
- 对于 C++:`std::cout << std::flush`;
- 对于 Java:`System.out.flush()`;
- 对于 Python:`stdout.flush()`;
- 对于 Pascal:`flush(output)`;
- 对于其他语言,请自行查阅对应语言的帮助文档。
特别的,对于 C++ 语言,在输出换行时如果你使用 `std::endl` 而不是 `'\n'`,也可以自动刷新缓冲区。
输入输出样例
暂无测试点说明
共 $5$ 个测试点,在测试点中如果你获胜且每步都满足 $6\leq x,y\leq 994$ 你将获得 $100$ 分,否则获胜你将获得 $50$ 分,你输了将获得 $0$ 分,平局获得 $30$ 分,总分数取测试点最小值。
本题输入输出参考 $0$ 分程序:
```cpp
#include <bits/stdc++.h>
using namespace std;
int n;
int x,y,xx,yy;
signed main()
{
int i,j,k;
n=100;
while(n--)
{
cout<<rand()%1000+1<<' '<<rand()%1000+1<<endl;
cout<<rand()%1000+1<<' '<<rand()%1000+1<<endl;
cin>>x>>y>>xx>>yy;
}
return 0;
}
```