Public Judge

pjudge

Time Limit: 1 s Memory Limit: 512 MB Total points: 100
[+1]

# 21776. 【PR #10】打摆

Statistics

本题是交互题。

有个 100 个点的无向简单图。

你每次可以向交互库询问 a,b,c,交互库会告诉你 a,b,c 三个点之间连了多少条边,并返回你一个 {0,1,2,3} 内的整数。你需要保证 a,b,c 两两不同。

你需要复原出这张图。

实现细节

本题使用 IO 交互,你需要像传统题目一样提交一个可以编译的代码文件。

你初始不需要读入任何内容。你可以通过向标准输出中写入 ? a b c 来发起一次询问,随后从标准输入中读入一个 03 内的整数,表示交互库的回答。

当你能够复原这张图时,请输出一行 ! ,随后输出 100 行,每行一个长度为 1000/1si ,描述这张图。其中 si,j1 当且仅当图中存在 (i,j) 这条边。

记得在每次输出后 flush。

样例

为了方便,在样例里我们假设图中只有 4 个点。注意在实际测试时图中会有 100 个点。

选手输出 交互库输出
? 1 2 3
0
? 1 2 4
2
? 1 3 4
2
!
0001
0001
0001
1110

数据范围

所有测试点的图均有恰好 100 个点。

Q 表示你的询问次数。如果 Q>161700,或你返回的答案不正确,或你进行了不合法的交互过程,你获得 0 分。

否则,你的得分将通过下表给出。

限制 得分
9900Q161700 10+10161700Q1617009900
4950Q9900 20+109900Q99004950
3400Q4950 30+104950Q49503400
Q<3400 100

时间限制1s

空间限制512MB