Text Reverse |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 6948 Accepted Submission(s): 1883 |
Problem Description
Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.
|
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single line with several words. There will be at most 1000 characters in a line. |
Output
For each test case, you should output the text which is processed.
|
Sample Input
3 olleh !dlrow m'I morf .udh I ekil .mca |
Sample Output
hello world! I'm from hdu. I like acm. |
#include<iostream>
#include<algorithm>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
int N;
cin>>N;
getchar();//get rid of \n
while(N--)
{
string str,temp="";//temp: to reserve each subString of str
getline(cin,str);
for(int i=0;i<str.length();i++)
{
if(str[i]==' ')
{
reverse(temp.begin(),temp.end());
cout<<temp<<" ";
temp="";//reset temp
}
else
{
temp+=str[i];//add str[i] to temp
}
}
if(temp!="")//final check whether temp is empty or not
{
reverse(temp.begin(),temp.end());
cout<<temp;
}
cout<<endl;
}
return 0;
}