luogu#P10831. [COTS/CETS 2023] 三角形 Trokuti

    ID: 14767 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2023交互题Special JudgeO2优化CEOI(中欧)COCI(克罗地亚)

[COTS/CETS 2023] 三角形 Trokuti

题目背景

译自 Izborne Pripreme 2023 (Croatian IOI/CEOI Team Selection) D1T3。1s,0.5G\texttt{1s,0.5G}

祝 NaCly_Fish 生日快乐!(2024.7.28)

题目描述

有一个隐藏的简单无向图 GG,其中恰有 100100 个节点。试通过以下询问重建 GG

询问 给定两两不同的节点 u,v,wu,v,w,回答这三个节点的导出子图(induced subgraph)的边数。注意到答案只会是 0,1,2,30,1,2,3

【实现细节】

你的程序通过标准输入输出与交互库交互。

  • ? u v w\texttt{? u v w}:发起一次询问,回答 u,v,wu,v,w 的导出子图的边数(从标准输入读取),注意到答案只会是 0,1,2,30,1,2,3

    你需要保证 1u,v,w1001\le u,v,w\le 100u,v,wu,v,w 两两不同。最多询问 161700161\, 700 次。

  • !\texttt{!}:回答答案。在输出 !\texttt{!} 后换行,接下来输出 NN 行,每行一个长度为 NN01\texttt{01} 字符串。

    ii 行第 jj 个字符如果是 1\texttt{1},代表 (i,j)(i,j) 间有边;否则代表 (i,j)(i,j) 间无边。

每次输出后,你需要刷新缓冲区。如:C++ 中的 cout.flush()

输入格式

见【实现细节】。

输出格式

见【实现细节】。


0

2

2
? 1 2 3

? 1 2 4

? 1 3 4

!
0001
0001
0001
1110

提示

评分方式

QQ 为你程序询问的最多次数。

Q>161700Q\gt 161\, 700,得 00 分。

否则,你的得分将由下表确定:

QQ 得分
9900Q1617009\, 900\le Q\le 161\, 700 $\displaystyle 10+10\cdot \frac{161\, 700-Q}{161\, 700-9\, 900}$
4950Q99004\, 950 \le Q\le 9\, 900 $\displaystyle 20+10\cdot \frac{9\, 900-Q}{9\,900-4\,500}$
3400Q49503\, 400\le Q\le 4\, 950 $\displaystyle 30+70\cdot \frac{4\,950-Q}{4\,950-3\,400}$
Q3400Q\le 3\, 400 100100