#P15054. [UOI 2023 II Stage] Square or rectangle
[UOI 2023 II Stage] Square or rectangle
说明
Eolymp 邀请你与评测系统玩一个有趣的交互式游戏“正方形还是矩形”。
Eolymp 拥有一个大小为 单元格的正方形棋盘。棋盘的行从上到下用 到 的整数编号,列从左到右用 到 的整数编号。因此,位于棋盘左上角的单元格坐标为 ;位于棋盘右下角的单元格坐标为 ;位于第 行与第 列交汇处的单元格坐标为 。
Eolymp 在棋盘上涂了一个矩形区域,其左上角坐标为 ,右下角坐标为 。Eolymp 对这些坐标保密。但已知涂色区域的面积至少是整个棋盘面积的 。
你可以向 Eolymp 询问任何单元格(它是否属于涂色区域),并从评测系统得到一个诚实的回答。你需要确定涂色区域是否是一个正方形。
:::align{center}
:::
交互方式
要查询一个单元格是否属于涂色区域,你需要向 Eolymp 询问。为此,你需要输出字符 "?" 和两个整数 与 ()——你想要询问的点的坐标。之后,你需要输出换行符并执行 操作。然后,你需要读取一行。Eolymp 将输出 (如果单元格被涂色)或 (否则)。
- C++ 中使用 或 ;
- Java 中使用 ;
- Pascal 中使用 ;
- Python 中使用 ;
- 其他语言请自行查阅文档。
你最多可以询问 次。
当你得知答案时,你需要输出字符 "!"、一个空格,以及两个选项之一:要么是 (如果 Eolymp 涂的图形是正方形),要么是 (如果是矩形)。
如果你不遵守交互格式,可能会收到任何判题结果:、、 等。
inside
inside
outside
inside
outside
outside
inside
outside
outside
? 50 50
? 75 75
? 10 10
? 20 20
? 19 20
? 20 19
? 80 80
? 81 80
? 80 81
! square
10 10 80 80
32
提示
在示例中,Eolymp 涂色的区域左上角为 ,右下角为 。
题目描述中提供了一个与 Eolymp 交互的示例。你对 Eolymp 的查询可以不同。
你的程序将与 Eolymp 多次进行此游戏。设 为你在所有游戏中询问的最大问题数。那么你将获得如下分数:
- 如果你在任何一场游戏中询问超过 次、给出错误答案或不遵守交互格式,你将获得 分。
- 如果 ,你将获得 分。
- 如果 ,你将获得 分。
- 如果 ,你将获得 分。
- 如果 ,你将获得 分。
- 如果 ,你将获得 分。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号