ZOJ_1151: Word Reversal
Time Limit: 2000 MS Memory Limit: 64 MB 64bit IO Format: %lld[ Submit][ Status][ Web Board]
Description
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
Input
Output
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
Source
East Central North America 1999, Practice
大水题,但是留意 stringstream和getline的相关用法,这样子写的话很方便。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<sstream>
using namespace std;
int n;
const int N=1000006;
string ss,tmp;
int main()
{
int T;
scanf("%d",&T);
int ff=0;
while(T--)
{
if(ff)
puts("");
ff=1;
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
{
getline(cin,ss);
stringstream buff(ss);
int flag=0;
while(buff>>tmp)
{
if(flag)
printf(" ");
int len=tmp.length();
for(int i=len-1;i>=0;i--)
{
printf("%c",tmp[i]);
}
flag=1;
}
puts("");
}
}
return 0;
}