可惜没如果=_=
不知那年的樱花树上,哪一瓣最美

原题链接在这里Problem - D - Codeforces

交互题有一个很重要的考点就是定位问题,上一道交互题我们是用的二分定位,这题根据题目的特征,我们通过枚举去定位

 1 #include "bits/stdc++.h"
 2 using namespace std;
 3 int n,x,y;
 4 int main(){
 5     //freopen ("d.in","r",stdin);
 6     //freopen ("d.out","w",stdout);
 7     int i,j,zt1,zt2;
 8     scanf("%d",&n);
 9     while (1){
10         for (i=0;i<n;i++){
11             printf("? 0 %d\n",i);fflush(stdout);
12             scanf("%d",&zt1);
13             if (zt1==n) break;
14         }
15         printf("? 1 %d\n",i);fflush(stdout);
16         scanf("%d",&zt1);
17         if (zt1==n){
18             y=i;
19             for (i=0;i<n-1;i++){
20                 printf("? %d %d\n",i,(y+1)%n);fflush(stdout);
21                 scanf("%d",&zt2);
22                 if (zt2==n){
23                     break;
24                 }
25             }
26             x=i;
27             printf("! %d",(y-x+n)%n);
28             break;
29         }
30         else{
31             x=0;
32             for (i=1;i<n-1;i++){
33                 printf("? %d %d\n",1,i);fflush(stdout);
34                 scanf("%d",&zt2);
35                 if (zt2==n){
36                     break;
37                 }
38             }
39             y=i;
40             printf("! %d",(y-x+n)%n);
41             break;
42         }
43     }
44     return 0;
45 }

 

未来是什么样,未来会发生什么,谁也不知道。 但是我知道, 起码从今天开始努力, 肯定比从明天开始努力, 要快一天实现梦想。 千里之行,始于足下! ——《那年那兔那些事儿》
posted on 2021-07-20 23:56  珍珠鸟  阅读(5)  评论(0编辑  收藏  举报