• Codeforces Round #534 (Div. 2)


    A. Splitting into digits

    题意:把一个数分成若干[1,9]之间的数字,使得这些数尽量相同。

    思路:输出n个1。

    #include<bits/stdc++.h>
    #define CLR(a,b) memset(a,,sizeof(a))
    using namespace std;
    typedef long long ll;
    const int maxn=100010;
    int main(){
        int n;
        cin>>n;
        int flag=0,j=2;
        printf("%d
    ",n);
        for(int i=1;i<=n;i++)
        {
            printf("%d",1);
            if(i==n)puts("");
            else printf(" ");
        }
    }
    View Code

    B. Game with string

    题意,给出一个字符串,两个人轮流玩游戏,每次可以把相邻且相同的两个字母删除,然后把剩下的字符串拼起来,两个人轮流操作,不能操作就输了,问第一个人能不能赢。

    思路:和括号序列很像,用一个栈来维护字符串,每次都和栈顶元素比较一下,相同就删去,不同就入栈。

    #include<bits/stdc++.h>
    #define CLR(a,b) memset(a,,sizeof(a))
    using namespace std;
    typedef long long ll;
    const int maxn=100010;
    char s[maxn];
    stack<char>ss;
    int main() {
        int n;
        while(cin>>s) {
            while(!ss.empty())ss.pop();
            n=strlen(s);
            int ans=0;
            int pos=0;
            for(int i=0; i<=n-1; i++) {
                if(ss.empty()) {
                    ss.push(s[i]);
                    continue;
                }
                char c=ss.top();
                if(c==s[i]) {
                    ans++;
                    ss.pop();
                } else {
                    ss.push(s[i]);
                }
            }
    
            if(ans%2==1) {
                printf("Yes
    ");
            } else puts("No");
        }
    }
    View Code

    C. Grid game

    题意,在4*4的网格中放1*2  和2*1的小矩形,同一行或者同一列被占满则被消除,要你构造一个方案,使网格不会被占满(溢出)。

    思路:抛开下面的样例描述就很简单了,2*1的每次都放在一列,两个就能消除,就不会占满,2*1的每四个都摞起来,这样也不会占满。

    #include<bits/stdc++.h>
    #define CLR(a,b) memset(a,,sizeof(a))
    using namespace std;
    typedef long long ll;
    const int maxn=100010;
    char s[maxn];
    stack<char>ss;
    int main() {
        int n;
        while(scanf("%s",s)!=EOF) {
            int a=0,b=0;
            for(int i=0;i<strlen(s);i++)
            {
                if(s[i]=='0'){
                    if(a==0){
                        printf("1 1
    ");
                        a++;
                    }else{
                        printf("3 1
    ");
                        a=0;
                    }
                }else{
                        b=b%4+1;
                        
                        printf("%d 3
    ",b);
                    
                }
            }
        }
    }
    View Code

    D. Game with modulo

    题意:交互题,系统会生成一个数a,然后你需要给出(x,y)这样的一个二元组,当x%a >= y %a 时,系统返回“x”,否则返回“y”,你需要在60次询问内,判断a这个数字并且输出。

    倍增加二分,第一次做交互题。

    如果你给出数是x<y的,当a大于x和y时,系统返回的必定是y,只有当x<a<y时,系统才会返回x。

    所以一开始x从0开始,y从1开始,每次以2的幂次递增,然后就可以得到一个大的区间范围,然后用同样的方法进行二分。

    #include<bits/stdc++.h>
    #define CLR(a,b) memset(a,,sizeof(a))
    using namespace std;
    typedef long long ll;
    const int maxn=100010;
    string opers,replay;
    ll x,y;
    int main(){
        cin>>opers;
        while(opers!="end"&&opers!="mistake")
        {
            x=0,y=1;
            replay="y";
            while(replay=="y")
            {
                printf("? %lld %lld
    ",x,y);
                cin>>replay;
                if(replay=="y"){
                    x=y;
                    y=y*2;
                }
            }
            ll l=x,r=y,mid;
            while(l<r-1)
            {
                mid=(l+r)>>1;
                printf("? %lld %lld
    ",x,mid);
                cin>>replay;
                if(replay=="y"){
                    l=mid;
                }else{
                    r=mid;
                }
            //    printf("l:%lld  r:%lld
    ",l,r);
            }
            printf("! %lld
    ",l+1);
            cin>>opers;
        }
        if(opers=="mistake")return 0;
    } 
    View Code

    E. Johnny Solving

    待补。

  • 相关阅读:
    java + jni + mingw实例开发(基于命令行窗口模式)
    OpenCv for Android
    Android图像处理实例教程
    eclipse使用技巧
    Android NDK开发实例教程
    Android开发的教程和资源
    JAVA安装,环境变量配置
    一些比较好的博客
    uwsgi启动Django项目时:unable to load app 0 (mountpoint='') (callable not found or import error) *** no app loaded. going in full dynamic mode ***
    robot中使用evaluate转化数据格式
  • 原文地址:https://www.cnblogs.com/mountaink/p/10308640.html
Copyright © 2020-2023  润新知