Advertisement
tumaryui

Untitled

Sep 18th, 2020
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ull unsigned long long
  3.  
  4. using namespace std;
  5.  
  6. struct elem
  7. {
  8. string date;
  9. ull val;
  10. ull dd, mm, yy;
  11. };
  12.  
  13. bool byYyMmDd(const elem &lhs, const elem &rhs)
  14. {
  15. if(lhs.yy != rhs.yy) {
  16. return lhs.yy < rhs.yy;
  17. }
  18. if(lhs.mm != rhs.mm) {
  19. return lhs.mm < rhs.mm;
  20. }
  21. if(lhs.dd != rhs.dd) {
  22. return lhs.dd < rhs.dd;
  23. }
  24. }
  25.  
  26. int main()
  27. {
  28. vector<elem> vec;
  29. string s;
  30. ull val;
  31. while (cin >> s >> val)
  32. {
  33. vec.push_back({s, val});
  34. }
  35. ull dd, mm, yy;
  36. for(auto &x : vec) {
  37. string s = x.date;
  38. int pr = 0;
  39. vector<int> vals;
  40. for(int i = 0; i < s.size(); i++) {
  41. if(s[i] == '.') {
  42. vals.push_back(atoi(s.substr(pr, i - pr).c_str()));
  43. pr = i + 1;
  44. }
  45. // 1.1.1
  46. }
  47. vals.push_back(atoi(s.substr(pr).c_str()));
  48. x.dd = vals[0], x.mm = vals[1], x.yy = vals[2];
  49. }
  50. sort(vec.begin(), vec.end(), byYyMmDd);
  51. for(auto &x : vec) {
  52. cout << x.date << " " << x.val << endl;
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement