rt,本题用%1d读入莫名挂了(WA, 40pts),用cin输入字符再转int就AC了,这两个有啥区别吗...(老年退役oier不记得了(
虽然听过%1d会比字符读入再转int慢很多,但我TLE也不应该WA啊...
(注意是%1d不是%ld,一位一位数字读入那个)
Code
#include <iostream>
#include <cstdio>
using namespace std;
const int manx=5e6+10;
int f[manx*2],n,m;
int l,r;
int main() {
ios :: sync_with_stdio(false);
cin >> n >> m;
l=1; r=n;
char x;
for(int i=1;i<=n;i++) {
// scanf("%1d", &f[i]); 这样输入就WA
cin >> x; f[i]=x-'0';
}
for(int i=1;i<=m;i++) {
char x;
// scanf("%1c", &x); 这样输入就WA
cin >> x;
if(x=='+') f[r]++;
if(x=='-') f[r]--;
if(x=='/') f[r-1]+=f[r]>>1, r--;
if(x=='*') f[++r]=0;
}
for(int i=r;i>1;i--) {
f[i-1]+=f[i]>>1;
f[i]=f[i]&1;
}
for(int i=1;i<=r;i++) {
printf("%d", f[i]);
}
puts("");
return 0;
}