美文网首页
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

    题目 原题链接:Row 题意 给出一串由0和1组成的数字,1表示这排座位中该位置有人,0相反。问该排是否满足任意两...

网友评论

      本文标题:CodeFoeces-982A

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