Advertisement
Guest User

Untitled

a guest
May 27th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <string>
  5. #include <cmath>
  6. #include <vector>
  7. #include <stack>
  8. #include <cstdlib>
  9. #include <queue>
  10. #include <map>
  11. #include <math.h>
  12. #include <list>
  13. #include <set>
  14.  
  15. using namespace std;
  16.  
  17. struct numl
  18. {
  19. vector <int> num;
  20. numl() : num() {};
  21. numl(vector <int> _num) : num(_num) {};
  22. numl operator + (numl v)
  23. {
  24. numl sum;
  25. int counter = 0;
  26. if (num.size() >= v.num.size())
  27. {
  28. int n = num.size()-1;
  29. for (int i = v.num.size()-1; i >= 0; i--)
  30. {
  31. if (num[n] + v.num[i] + counter > 9)
  32. {
  33. sum.num.push_back((num[n] + v.num[i] + counter)%10);
  34. counter = (num[n] + v.num[i] + counter)/10;
  35. }
  36. else
  37. {
  38. sum.num.push_back(num[n] + v.num[i] + counter);
  39. counter = 0;
  40. }
  41. n--;
  42. }
  43. while (n >= 0)
  44. {
  45. if (num[n] + counter > 9)
  46. {
  47. sum.num.push_back((num[n] + counter) % 10);
  48. counter = (num[n] + counter)/10;
  49. }
  50. else
  51. {
  52. sum.num.push_back(num[n] + counter);
  53. counter = 0;
  54. }
  55. n--;
  56. }
  57. }
  58. else
  59. {
  60. int n = v.num.size()-1;
  61. for (int i = num.size()-1; i >= 0; i--)
  62. {
  63. if (num[i] + v.num[n] + counter > 9)
  64. {
  65. sum.num.push_back((num[i] + v.num[n] + counter)%10);
  66. counter = (num[i] + v.num[n] + counter)/10;
  67. }
  68. else
  69. {
  70. sum.num.push_back(num[i] + v.num[n] + counter);
  71. counter = 0;
  72. }
  73. n--;
  74. }
  75. while (n >= 0)
  76. {
  77. if (v.num[n] + counter > 9)
  78. {
  79. sum.num.push_back((v.num[n] + counter) % 10);
  80. counter = (v.num[n] + counter)/10;
  81. }
  82. else
  83. {
  84. sum.num.push_back(v.num[n] + counter);
  85. counter = 0;
  86. }
  87. n--;
  88. }
  89. }
  90. if (counter > 0)
  91. sum.num.push_back(counter);
  92. return sum;
  93. }
  94. } num1, num2, ans;
  95.  
  96. int n;
  97.  
  98. int main()
  99. {
  100. #ifndef ONLINE_JUDGE
  101. freopen("input.txt", "r", stdin);
  102. freopen("output.txt", "w", stdout);
  103. #endif
  104. scanf("%d", &n);
  105. for (int i = 0; i < n; i++)
  106. {
  107. int k, p;
  108. scanf("%d%d", &k, &p);
  109. if (k != 0 || !num1.num.empty())
  110. num1.num.push_back(k);
  111. if (p != 0 || !num2.num.empty())
  112. num2.num.push_back(p);
  113. }
  114. ans = num1 + num2;
  115. reverse(ans.num.begin(), ans.num.end());
  116. for (int i = 0; i < ans.num.size(); i++)
  117. printf("%d", ans.num[i]);
  118. return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement