求助!这段代码为什么过不了

#include <bits/stdc++.h>

using namespace std;

int bin(string s){

int sum = 0;

for(int i = s.size()-1, j = 0; i >= 0; i--, j++){

if(s[i] == '1'){

sum += (1<<j);

}

}

return sum;

}

int main(){

string a, b;

char c;

int n,m,l,r;

cin >> n >> a >> b >> m;

for(int i = 0; i < m; i++){

cin >> c >> l >> r;

int cnt = 0;

if(c == 'A'){

for(int j = l-1; j <= r-1; j++){

a[j] = '1';

}

int s = bin(a);

for(int k = 0; k < n; k++){

if(b[k]=='1'){

if(s&(1<<(n-k-1)))

cnt++;

}

}

printf("%d\n",cnt);

}

else if(c == 'B'){

for(int j = l-1; j <= r-1; j++){

b[j] = '1';

}

int s = bin(a);

for(int k = 0; k < n; k++){

if(b[k]=='1'){

if(s&(1<<(n-k-1)))

cnt++;

}

}

printf("%d\n",cnt);

}

}

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务