zoukankan      html  css  js  c++  java
  • 暑假集训Day6 D (交互题)

    原题链接在这里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
    ",i);fflush(stdout);
    12             scanf("%d",&zt1);
    13             if (zt1==n) break;
    14         }
    15         printf("? 1 %d
    ",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
    ",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
    ",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 }
    未来是什么样,未来会发生什么,谁也不知道。 但是我知道, 起码从今天开始努力, 肯定比从明天开始努力, 要快一天实现梦想。 千里之行,始于足下! ——《那年那兔那些事儿》
  • 相关阅读:
    js类型自动转换以及==对比规则
    js改变作用域链
    cookie简单实例
    js操作cookie
    body设置margin为0
    inline-block和block元素水平居中显示
    执行git clone遇到警告解决办法
    git中各大写字母表示含义
    git命令报错
    linux.txt
  • 原文地址:https://www.cnblogs.com/keximeiruguo/p/15037665.html
Copyright © 2011-2022 走看看