#LX0045. 扫雷【2025小测验】

扫雷【2025小测验】

题目描述 1s 512MB

这是一道交互题。

有一个n×nn\times n的网格,行和列的编号分别从11nn

已知,在这个里面一共有mm个格子是地雷。

你可以通过交互的方式来获取信息,以计算这些地雷的位置。

交互的方法是:询问l1,r1,l2,r2l_1,r_1,l_2,r_2,系统会返回给你,在矩阵al1,l2,r1,r2a_{{l_1,l_2},{r_1,r_2}}的区域内,一共有多少个地雷。

当你确认了mm个地雷的位置后,你可以输出答案。

交互格式

首先,你需要从系统输入中读入n,mn,m,表示矩阵的大小,以及雷的个数。

接下来,你可以使用如下两种方式来进行交互:

(1)1 l_1 r_1 l_2 r_2,表示一次询问,然后你可以从系统中读入一个整数xx表示这次询问的答案。

(2)2 x y,表示你已经计算出所有地雷的坐标。输出的xx是所有地雷xx坐标的异或值,yy同理。

请在每次输出后使用cout.flush()或者cout<<endl来保证你的输出被正确的输入交互库。

样例输入 #1

2 1
0
0
0

样例输出 #1

1 1 1 1 1
1 1 2 1 2
1 2 1 2 1
2 2 2

样例解释 #1

首先从系统输入了n=2,m=1n=2,m=1,接下来,你依次询问了坐标(1,1),(1,2),(2,1)(1,1),(1,2),(2,1)的答案,都得到了否定的答案,说明地雷必定在(2,2)(2,2),所以输出2 2 2

数据范围

请注意,在任意时刻,你的询问次数不能超过20012001次,如果你的询问次数超过了20012001次,则会返回RE或者TLE

对于30%的数据:n44n\leq 44

对于另15%的数据:m=1m=1

对于另15%的数据:m=n21m=n^2-1

对于另20%的数据:n500n\leq 500

对于100%的数据:1n1000,min(m,n2m)min(100,n2)1\leq n\leq 1000,\min(m,n^2-m)\leq \min(100,n^2)