数据有毒,一个一个读字符是错,整个字符串读入,一次就A了。
总之,数据总是没有错的,还是对c++了解地不够深刻,还有,在比赛中,一定要有勇气重构代码
错误代码:
#include#include #include using namespace std;int main(){ int T,t; scanf("%d",&T); char a[1024]; getchar(); while(T--){ t=0;a[0]=0; char c; while(scanf("%c",&c)!=EOF){ if(c==10){printf("%s\n",a);break;} if(c=='#'){t=max(0,--t);} else if(c=='@'){t=0;a[t]=0;} else { a[t]=c;a[++t]=0; } } }}
AC代码:
#include#include #include #include using namespace std;int main(){ char a[1024]; char ans[1024]; int T; cin>>T; while(T--){ cin>>a; int n=strlen(a);int t=0; for(int i=0;i