求助QwQ
查看原帖
求助QwQ
566513
WiccldCute楼主2021/10/10 20:20
#include<iostream>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int QwQ,qWq;
        int a,b;
        string s;
        cin>>a>>b;
        QwQ=a,qWq=b;
        cin>>s;
        //cout<<"Out:";
        if(a%2==1&&b%2==1){cout<<"-1\n";continue;}
        for(int i=0;i<s.length();i++){
            if(s[i]=='0')a--;
            else if(s[i]=='1')b--;
        }
        for(int i=0;i<s.length();i++){
            if(s[i]=='1'&&s[s.length()-i-1]=='?'){s[s.length()-i-1]='1';b--;}
            else if(s[i]=='0'&&s[s.length()-i-1]=='?'){s[s.length()-i-1]='0';a--;}
        }
        if(s.length()%2==1&&s[s.length()/2]=='?'&&a-1>=0){s[s.length()/2]='0';a--;}
        else if(s.length()%2==1&&s[s.length()/2]=='?'&&b-1>=0){s[s.length()/2]='1';b--;}
        //cout<<a<<" "<<b<<endl;
        for(int i=0;i<s.length()/2&&a;i++){
            if(s[i]=='?'&&s[s.length()-i-1]){s[i]='0';s[s.length()-i-1]='0';a-=2;}
        }
        for(int i=0;i<s.length()/2&&b;i++){
            if(s[i]=='?'&&s[s.length()-i-1]){s[i]='1';s[s.length()-i-1]='1';b-=2;}
        }

        int x=0,y=0;
        bool awa=1;
        //cout<<s<<endl;
        for(int i=0;i<s.length();i++){
            if(s[i]=='1')y++;
            if(s[i]=='0')x++;
            if(s[i]=='?'){awa=0;break;}
            if(s[i]!=s[s.length()-i-1]){awa=0;break;}
        }
        if(awa&&x==QwQ&&y==qWq)cout<<s<<endl;
        else cout<<"-1"<<endl;
    }
    return 0;
}

第二个点WA QwQ,有Dalao可以给出Hack数据吗

2021/10/10 20:20
加载中...