zoukankan      html  css  js  c++  java
  • Codeforces Round #516 (Div. 1, by Moscow Team Olympiad) C

    题链

    Description

      和交互库交互,你给出n个点,交互库指定颜色,求一条直线分割颜色。

    Sol

     分别在x轴,y轴上二分即可。

    Code

      

    #include<bits/stdc++.h>
    #define Mid (l+r>>1)
    using namespace std;
    int n,l,r;
    char p1[102],p2[102],p3[102];
    void work(int x,int pos,int g) {
        l=500000000;
        r=1000000000;
        for (int i=x;i<n;i++) {
            printf("%d %d
    ",pos,Mid); fflush(stdout);
            scanf("%s",p3+1);
            if (p2[1]==p3[1]) l=Mid; else r=Mid;
        }
        if (p1[1]==p2[1]) {
            if (p2[1]==p3[1])
               printf("%d %d %d %d
    ",pos,Mid+1,pos+1,500000000);
            else printf("%d %d %d %d
    ",pos,Mid-1,pos+1,500000000);
        } else {
            if (p2[1]==p3[1])
              printf("%d %d %d %d
    ",pos,Mid+1,pos-1,500000000);
            else printf("%d %d %d %d
    ",pos,Mid-1,pos-1,500000000);
        }
        
    //    if (p2[1]==p1[1]) {
    //        printf("%d %d %d %d
    ",pos-(!g),Mid+1,pos-(!g)+1,1000000000-Mid-1);
    //    } else {
    //        printf("%d %d %d %d
    ",pos-(!g),Mid-1,pos-(!g)+1,1000000000-Mid+1);
    //    }
        exit(0);
    }
    signed main () {
        scanf("%d",&n);
        printf("0 500000000
    ");fflush(stdout);
        scanf("%s",p1+1);
        l=0;
        r=1000000000;
        for (int i=1;i<n;i++) {
            if (Mid-l>=5&&r-Mid>=5)  { printf("%d %d
    ",Mid,500000000); fflush(stdout); } else work(i,Mid,p1[1]==p2[1]);
            scanf("%s",p2+1);
            if (p2[1]==p1[1]) l=Mid; else r=Mid;
        }
        if (p2[1]==p1[1])  printf("%d 40000000 %d 600000000",Mid,Mid+1);
        else  printf("%d 40000000 %d 600000000",Mid-1,Mid);
        fflush(stdout);
    }
  • 相关阅读:
    裴蜀定理
    上下界网络流
    寻找符合子序列要求的区间个数
    小猪分配 , 最大流
    floyd + 最大流 (奶牛分配问题)
    抛硬币问题
    消消乐
    Entity Framework(1)
    冒泡排序
    二分法查找数据
  • 原文地址:https://www.cnblogs.com/rrsb/p/9807240.html
Copyright © 2011-2022 走看看