比赛 位运算及及其应用题单 评测结果 AWAWWAAWWW
题目名称 调试LED灯 最终得分 40
用户昵称 梧叶已同秋雨去 运行时间 1.063 s
代码语言 C++ 内存使用 3.39 MiB
提交时间 2025-01-25 15:05:43
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int m,n,a[45];
int main(){
    freopen("testled.in","r",stdin);
    freopen("testled.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        scanf("%1d",&a[i]);
    }
    cin>>m;
    for(int i=1;i<=m;i++){
        char x;
//        for(int j=1;j<=n;j++){
//            cout<<a[j];
//        }cout<<endl;
        cin>>x;
        if(x=='a'){
            for(int j=1;j<=n;j++){
                a[j]=1;
            }continue;
        }
        if(x=='b'){
            for(int j=1;j<=n;j++){
                a[j]=0;
            }continue;
        }
        if(x=='c'){
            for(int j=1;j<=n;j++){
                if(a[j])a[j]=0;
                else a[j]=1;
            }continue;
        }
        int k,k2;
        if(x=='1'){
           k=0,k2=1;
           for(int j=n;j>=1;j--){
               if(j%2==1){
                   if(a[j])a[j]=k;
                   else a[j]=k2;
               }
           }continue;
        }
        if(x=='2'){
            k=1,k2=0;
            for(int j=n;j>=1;j--){
               if(j%2==0){
                   if(a[j])a[j]=k2;
                   else a[j]=k;
               }
           }continue;
        }
        int t;
        t=x-'0';
        for(int j=1;j<=t;j++){
            a[j]=0;
        }
        for(int j=n-t+1;j<=n;j++){
            a[j]=1;
        }
    }
    int ans=0;
    for(int i=1;i<=n;i++){
        cout<<a[i];
        if(a[i]==1){
            ans++;
        }
    }cout<<"\n"<<ans;
    return 0;
}