# HackerEarth Nobita and String problem solution

In this HackerEarth Nobita and String problem solution Doraemon gave Nobita a gadget that swaps words inside a string in the following manner :

If there are W words, word 1 is swapped with word W, word 2 is swapped with word W-1 and so on. The problem is that Nobita himself cannot verify the answer for large strings. Help him write a program to do so.

## HackerEarth Nobita and String problem solution.

`#include<iostream>#include<algorithm>#include<string>using namespace std;int main(){  int t;  cin>>t;  getchar();  while(t--)  {   string s;        getline(cin,s);        reverse(s.begin(),s.end());        string :: iterator it,it1;        for(it = s.begin();it!=s.end(); it++)        {            it1=it;            while(it!=s.end() && *it!=' ')                it++;            reverse(it1,it);            if(*it == '\n' || it == s.end())                break;        }        cout<<s<<endl;  }  return 0;}`

### Second solution

`#include <cstdlib>#include <stdio.h>#include <cstring>#include <complex>#include <vector>#include <cmath>#include <ctime>#include <iostream>#include <numeric>#include <algorithm>#include <map>#include <set>#include <stack>#include <queue>#include <iomanip>#include <utility>#include <locale>#include <sstream>#include <string> // this should be already included in <sstream>using namespace std;//short lazieeeeeee#define FOR(i,n) for(i=0;i<n;i++)#define FORI(i,a,n) for(i=a;i<n;i++)#define FORC(it,C) for(it=C.begin();it!=C.end();it++)#define scanI(x) scanf("%d",&x)#define scanD(x) scanf("%lf",&x)#define print(x) printf("%d\n",x)#define ll  long long#define number32 4294967296ull#define MAX 100001#define len(s) s.length()#define ff first#define ss secondusing namespace std;//containerstypedef map<int,int> Mii;typedef map<char,int> Mci;typedef pair<int,int> Pii;typedef vector<int> vi;typedef vector<int> vc;typedef vector<ll> vl;//iteratorstypedef map<int,int>::iterator Miii;typedef map<char,int>::iterator Mcii;int main(){   int t;   cin>>t;   getchar();   int i;   string s;   while(t--)   {     getline(cin,s);    // cout<<s<<endl;     //char s[100001];     //cin.getline(s,100000);     string temp;     vector <string> cds;         stringstream ss (s);         while(ss >> temp)         cds.push_back(temp);         reverse(cds.begin(),cds.end());         for(i=0;i<cds.size();i++)         {       cout<<cds[i]<<" ";     }     cout<<endl;     //* */   }   return 0; }`