行编辑器 | ||||||
| ||||||
Description | ||||||
这次我们要写一个简单的行编辑器,当按下‘#’时代表按下了一次退格符,当按下‘@’时代表一个退行符(使当前行的字符全部无效)。例如,假设从终端接收了这样的两行字符: Whil#lr#e(s#*s) outcha@putchar(*s=#++) 则实际有效的是下列两行: While(*s) putchar(*s++) 请你编写一个程序,输出实际有效的字符串。 | ||||||
Input | ||||||
第一行是一个整数T,表示测试数据组数。 接下来每行为一个字符串(不含空格和任何空白),表示输入的原始字符串 | ||||||
Output | ||||||
输出最终的正确字符串。 | ||||||
Sample Input | ||||||
2 Whil#lr#e(s#*s) outcha@putchar(*s=#++) | ||||||
Sample Output | ||||||
While(*s) putchar(*s++) |
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
string s;
cin>>s;
int begin=-1;
for(int i=0; i<s.size(); i++){
if(s[i]=='@') begin=i;
}
for(int j=begin+1; j<s.size(); j++){
if(s[j+1]!='#'){
if(s[j]=='#') continue;
cout<<s[j];
}
}
cout<<endl;
}
return 0;
}