美文网首页
CodeFoeces-982A

CodeFoeces-982A

作者: ss5smi | 来源:发表于2018-05-24 13:09 被阅读0次

    题目

    原题链接:Row

    题意

    给出一串由0和1组成的数字,1表示这排座位中该位置有人,0相反。问该排是否满足任意两人件间有空位,且不能插入任何一个满足上一条件的座位。
    写的有些乱。开头和结束的判断条件不同于中间,两头若是有≥2的空位则还能插入,中间>2则能插入。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
        int n;
        string s;
        cin>>n>>s;
        int cnt=0;
        for(int i=0;i<n;i++){
            cnt+=s[i]=='0';
        }
        if(cnt==n){
            printf("No\n");
            return 0;
        }
        int tmp=0,flag=0;
        for(int i=0;i<n;i++){
                if(s[i]=='1'){
                    if(flag){
                        if(tmp>2 || tmp==0){
                            printf("No\n");
                            return 0;
                        }
                    }else{
                        flag=1;
                        if(tmp>=2){
                            printf("No\n");
                            return 0;
                        }
                    }
                    tmp=0;
                }else tmp++;
        }
        if(tmp>=2) printf("No\n");
        else printf("Yes\n");
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:CodeFoeces-982A

          本文链接:https://www.haomeiwen.com/subject/sqajdftx.html