比赛 2020级再出发之位运算 评测结果 AAAAAAAAAA
题目名称 调试LED灯 最终得分 100
用户昵称 宇战 运行时间 1.028 s
代码语言 C++ 内存使用 24.04 MiB
提交时间 2023-07-25 18:10:46
显示代码纯文本
#include<bits/stdc++.h> 
using namespace std;
int n,m,s,a[5000010],l;
char b[5000010],c[5000010];
void aa(){
    for(int i=1;i<=l;i++){
        a[i]=1;
    }
}
void bb(){
    for(int i=1;i<=l;i++){
        a[i]=0;
    }
}
int main(){
    freopen("testled.in","r",stdin);
    freopen("testled.out","w",stdout);
      cin>>l;
      for(int i=1;i<=l;i++){
          cin>>b[i];
          a[i]=b[i]-'0';
      }
      cin>>n;
      for(int i=1;i<=n;i++){
          cin>>c[i];
      }
      int t=1;
      for(int i=n;i>=1;i--){
          if(c[i]=='a'){
              aa();
              t=i;
              break;
          }else if(c[i]=='b'){
              bb();
              t=i;
              break;
          }
      }
      for(int i=t;i<=n;i++){
          if(c[i]=='c'){
              for(int j=1;j<=l;j++){
                  if(a[j]==1){
                      a[j]=0;
                  }else{
                      a[j]=1;
                  }
              }
          }
          if(c[i]=='1'){
              int top=1;
              for(int j=l;j>=1;j--){
                 if(top&1){
                     if(a[j]==1){
                      a[j]=0;
                  }else{
                      a[j]=1;
                  }
                 }
                 top++;     
              }
          }
          if(c[i]=='2'){
              int top1=1;
              for(int j=l;j>=1;j--){
                 if(top1%2==0){
                     if(a[j]==1){
                      a[j]=0;
                  }else{
                      a[j]=1;
                  }
                 }
                 top1++;     
              }
          }
          if('2'<c[i]&&c[i]<='9'){
              int tt=c[i]-'0';
              for(int j=1;j<=tt;j++){
                  a[l-j+1]=1;
                  a[j]=0;
                  
              }
          
          }
      }
      for(int i=1;i<=l;i++){
          cout<<a[i];
          if(a[i]){
              s++;
          }
      }
      cout<<endl<<s;     
      
return 0;
}