求hack数据
  • 板块学术版
  • 楼主wanttoac
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/26 19:43
  • 上次更新2024/5/26 21:42:24
查看原帖
求hack数据
1258100
wanttoac楼主2024/5/26 19:43

原题链接\newline

#include<bits/stdc++.h>
using namespace std;
int n;
char a[100007][2];
char b[100007][2];
void init(){
    for(int i=1;i<=n+1;i++){
        a[i][0]=b[i][0];
        a[i][1]=b[i][1];
    }
    return;
}
bool check(int p){
    int cnt=0;
    for(int i=1;i<=n+1;i++){
        if(a[i][p]=='0'&&cnt==1){
            if(a[i-1][!p]=='0'){
                init();
                return false;
            }
            a[i-1][!p]='0';
        }
        if(a[i][p]=='0')cnt=0;
        else cnt++;
    }
    //for(int i=1;i<=n;i++)cout<<a[i][0];
    //cout<<endl;
    //for(int i=1;i<=n;i++)cout<<a[i][1];
    //cout<<endl;
    p=!p;
    cnt=0;
    for(int i=1;i<=n+1;i++){
        if(a[i][p]=='0'&&cnt==1){
            init();
            return false;
        }
        if(a[i][p]=='0')cnt=0;
        else cnt++;
    }
    init();
    return true;
}
void solve(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i][0];
        b[i][0]=a[i][0];
    }
    for(int i=1;i<=n;i++){
        cin>>a[i][1];
        b[i][1]=a[i][1];
    }
    a[n+1][0]=a[n+1][1]=b[n+1][0]=b[n+1][1]='0';
    //cout<<check(0)<<' '<<check(1)<<endl;
    if(check(0)||check(1))cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
}
int main(){
    int t;
    cin>>t;
    while(t--)solve();
    return 0;
}
2024/5/26 19:43
加载中...