{"raw_statement":[{"iden":"background","content":"交互库绝顶聪明。"},{"iden":"statement","content":"猪棋的规则：\n\n在一个 $1000\\times 1000$ 的棋盘上，两人分别执黑棋白棋轮流执子，每次可以在当前没有子的不同位置将两颗子分别放下（有序），如果一颗子放下时出现有 $(x,y),(x+1,y),(x,y+1),(x+1,y+1)$ 的四个位置棋子颜色均相同则执此颜色者获胜。\n\n你将扮演先手，在 $100$ 步内战胜交互库扮演的后手，保证有解。\n\n对于每轮，你可以选择两个坐标 $(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$ 颗子，如果是你获得平局，否则进入你的新一轮。\n"},{"iden":"input","content":"你每轮结束后从**标准输入**中输入四个整数，代表评测机返回的结果。"},{"iden":"output","content":"每轮开始时，你需要向**标准输出**输出四个 $[1,1000]$ 中的整数，**然后清空缓冲区**。\n\n你可以使用如下语句来清空缓冲区：\n\n- 对于 C/C++：`fflush(stdout)`；\n- 对于 C++：`std::cout << std::flush`；\n- 对于 Java：`System.out.flush()`；\n- 对于 Python：`stdout.flush()`；\n- 对于 Pascal：`flush(output)`；\n- 对于其他语言，请自行查阅对应语言的帮助文档。\n\n特别的，对于 C++ 语言，在输出换行时如果你使用 `std::endl` 而不是 `'\\n'`，也可以自动刷新缓冲区。\n\n\n"},{"iden":"note","content":"共 $5$ 个测试点，在测试点中如果你获胜且每步都满足 $6\\leq x,y\\leq 994$ 你将获得 $100$ 分，否则获胜你将获得 $50$ 分，你输了将获得 $0$ 分，平局获得 $30$ 分，总分数取测试点最小值。\n\n本题输入输出参考 $0$ 分程序：\n\n```cpp\n#include <bits/stdc++.h>\n\nusing namespace std;\n\nint n;\nint x,y,xx,yy;\n\n\nsigned main()\n{\n    int i,j,k;\n    n=100;\n    while(n--)\n    {\n        cout<<rand()%1000+1<<' '<<rand()%1000+1<<endl;\n        cout<<rand()%1000+1<<' '<<rand()%1000+1<<endl;\n        cin>>x>>y>>xx>>yy;\n    }\n    return 0;\n}\n```\n"}],"translated_statement":null,"sample_group":[],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}