luogu#P7579. 「RdOI R2」称重(weigh)

    ID: 11580 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>2021交互题Special Judge分治二分查找

「RdOI R2」称重(weigh)

题目背景

因为 rui_er 是一个良心出题人,所以本题是一道交互题。

题目描述

rui_er 为了准备体测,买了 nn 个实心球准备练习,但是却发现在发货时混入了两个质量明显较轻但外观相似的球(这两个球质量相等),且已知这两个球的质量之和大于一个正常的球。为了防止影响训练效果,现在需要找出这两个球。因为手动找太慢了,现在拿来了一个天平,可以在两侧各放上若干个球,得到两侧的质量大小关系。请你帮帮 rui_er,在使用不超过 kk 次天平的情况下,找出这两个较轻的球。

这里 kk 是每个测试点的属性,你不必也不应该读入。


交互方式

本题采用 I/O 交互。

你可以选择进行称量操作,此时向标准输出打印一行 1 p a1 a2 ... ap q b1 b2 ... bq,表示在天平左盘放入编号为 a1,a2,,apa_1,a_2,\cdots,a_ppp 个球,在天平右盘放入编号为 b1,b2,,bqb_1,b_2,\cdots,b_qqq 个球。随后清空缓冲区,并从标准输入读入一个 <>= 之一的字符,表示左盘与右盘的质量关系。

对于每次此类询问,你需要保证 1p,qn1\le p,q\le np+qnp+q\le n,所有 aia_ibib_i 互不相同,且你最多进行此类询问 kk 次。

在得到答案后,向标准输出打印一行 2 x y 来提交答案,表示编号为 xx 的球和编号为 yy 的球质量偏轻。

你需要保证 1x<yn1\le x\lt y\le n(注意需要严格按照从小到大顺序输出),且在进行完这一操作后立即终止程序。

交互库在一开始就已经确定小球的情况,不会随着你的询问而改变。

输入格式

第一行一个整数 nn,表示球的数量。这里 kk 是每个测试点的属性,你不必也不应该读入。

接下来若干行,见【交互方式】。

输出格式

若干行,见【交互方式】。

6

=

<

>

1 1 1 1 2

1 1 3 1 4

1 1 5 1 6

2 3 6

提示

样例解释

三次询问的结果为 a1=a2,a3<a4,a5>a6a_1=a_2,a_3\lt a_4,a_5\gt a_6,可以知道编号为 3,63,6 的两个球质量偏轻。


数据范围

本题按点得分。

2020 个非 HACK 测试点中,第一个点 44 分,其它点每点 55 分;44 个 HACK 测试点共 11 分,任意一个测试点不通过则不得分。

测试点 nn\le k=k= 特殊性质 测试点 nn\le k=k= 特殊性质
1 55 5050 11 500500 5050
2 1010 12
3 100100 13 2020 A
4 14 B
5 500500 A 15 A
6 B 16 B
7 A 17
8 B 18
9 19
10 20
ex1 1212 B/HACK ex3 1313 HACK
ex2 1313 HACK ex4 1414
  • 特殊性质 A:n=2i1,i{4,5,6,7,8}n=2^i-1,i\in\left\{4,5,6,7,8\right\}
  • 特殊性质 B:n=2i,i{4,5,6,7,8}n=2^i,i\in\left\{4,5,6,7,8\right\}
  • 备注:HACK 数据的 kk 根据测试点实际情况设置,会卡一些奇怪的做法,保证正解可过。

对于全部数据,5n5005\le n\le 500k{50,20,14,13,12}k\in\left\{50,20,14,13,12\right\}