HDU - 1062
格式错误2遍:没考虑到连续两个空格的情况,遇到空格最后要输出这个空格,因为题目只需要转换单词。
另外,开cin,cout加速要注意读入不能用scanf,printf,puts,getchar这些。getline,streamstream 可以结合使用
代码:
using namespace std; #define maxn 19999 #define rep(i,a,b) for(int i=(a);i<(b);i++) #define ll long long string s; string tmp; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //由于开了cin,cout加速,最好全部用getline解决,配合stringstream int t; getline(cin,s); stringstream ss; ss<<s; ss>>t; while(t--) { getline(cin,s); int size=s.size(); for(int i=0; i<size; i++) { if(s[i]==' ') { int len=tmp.size(); if(len!=0){ rep(j,0,len) { cout<<tmp[len-j-1]; } tmp.clear(); } cout<<" "; } else tmp+=s[i]; } int len=tmp.size(); if(len) { rep(j,0,len) { cout<<tmp[len-j-1]; } }