Advertisement
raihan02

URI 1244 Sort by Length

Dec 13th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int tes;
  6. cin >> tes;
  7. getchar();
  8. while(tes--)
  9. {
  10. string s , s2 , s3 , s4;
  11. getline(cin , s);
  12.  
  13. vector < string > vs;
  14. vector <pair<int , string>> vc;
  15. vector <int> vk;
  16. map < int , string> mp;
  17. map <int , string> :: iterator it;
  18.  
  19. for(int i = s.length() - 1; i >= 0; i--)
  20. {
  21. if(s[i] == ' ')
  22. break;
  23. else
  24. s3 += s[i];
  25. }
  26. for(int i = 0; i < s.length(); i++)
  27. {
  28. if(s[i] != ' ')
  29. s2+= s[i];
  30. if(s[i] == ' ' || s[i] == '\n')
  31. {
  32. vs.push_back(s2);
  33. s2.clear();
  34. }
  35. }
  36. for(int i = s3.length() - 1; i >= 0; i--)
  37. {
  38. s4 += s3[i];
  39. }
  40.  
  41. vs.push_back(s4);
  42. int k ;
  43. for(int i = 0; i < vs.size(); i++)
  44. {
  45. k = vs[i].length();
  46. vk.push_back(k);
  47. }
  48.  
  49. for(int i = vk.size() - 1; i >= 0; i--)
  50. {
  51. for(int j = 0; j < i; j++)
  52. {
  53. if(vk[j] < vk[j + 1])
  54. {
  55. swap(vk[j] , vk[j + 1]);
  56. swap(vs[j] , vs[j + 1]);
  57. }
  58. }
  59. }
  60.  
  61. for(int i = 0; i < vk.size() - 1; i++)
  62. {
  63. cout<<vs[i]<<" ";
  64. }
  65. cout<<vs[vk.size() - 1]<<endl;
  66. vs.clear();
  67. vk.clear();
  68.  
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement