Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <sstream>
  5.  
  6. #define T long long
  7.  
  8. void getDeck(std::vector<std::string>& deck);
  9.  
  10. void getBorders(std::vector<T>& borders);
  11.  
  12. int main()
  13. {
  14. using namespace std;
  15. vector<string> deck;
  16. vector<T> borders;
  17. getDeck(deck);
  18. getBorders(borders);
  19. borders.insert(borders.begin(), 0);
  20. T pointer = (T) borders.size() - 1;
  21. T to = (T) deck.size();
  22. while (pointer >= 0)
  23. {
  24. auto from = (unsigned int) borders[pointer];
  25. for (unsigned int i = from; i < to; ++i)
  26. {
  27. cout << deck[i];
  28. }
  29. to = borders[pointer];
  30. --pointer;
  31. }
  32. return 0;
  33. }
  34.  
  35. // Yep, copypaste
  36. void getBorders(std::vector<T>& borders)
  37. {
  38. using namespace std;
  39. string str;
  40. T curInt;
  41. getline(cin, str);
  42. istringstream stream(str);
  43. while (stream >> curInt)
  44. {
  45. borders.push_back(curInt);
  46. }
  47. }
  48.  
  49. // Yep, copypaste
  50. void getDeck(std::vector<std::string>& deck)
  51. {
  52. using namespace std;
  53. string curStr;
  54. string str;
  55. getline(cin, str);
  56. istringstream stream(str);
  57. while (stream >> curStr)
  58. {
  59. deck.push_back(curStr + " ");
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement