fork download
  1. #include<iostream>
  2. #include<deque>
  3. #include<vector>
  4. #include<algorithm>
  5. #include<cstring>
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. char a[10005], b[10005];
  11. cin >> a >> b;
  12. deque<char>dea;
  13. deque<char>deb;
  14. vector<int>s;
  15.  
  16. bool check_10 = false;
  17. int i = 0;
  18. while (true)
  19. {
  20. if (i<strlen(a))
  21. {
  22. dea.push_front(a[i]);
  23. }
  24. if (i<strlen(b))
  25. {
  26. deb.push_front(b[i]);
  27. }
  28. if (i>= strlen(a)&&i>= strlen(b))
  29. {
  30. break;
  31. }
  32.  
  33. i++;
  34. }
  35. int num;
  36. for (i = 0; i < (dea.size()>deb.size()? deb.size(): dea.size()); i++)
  37. {
  38. if (check_10)
  39. {
  40. num = (dea[i]-'0' + deb[i] - '0')+1;
  41. }
  42. else
  43. {
  44. num = (dea[i] - '0' + deb[i] - '0');
  45. }
  46. check_10 = false;
  47. if (num>=10)
  48. {
  49. num = num % 10;
  50. check_10 = true;
  51. }
  52.  
  53. s.push_back(num);
  54. }
  55. bool aaa = dea.size() > deb.size() ? true : false;
  56.  
  57. if (aaa)
  58. {
  59. for (; i < dea.size(); i++)
  60. {
  61. if (check_10)
  62. {
  63. s.push_back(dea[i] - '0' + 1);
  64. check_10 = false;
  65. }
  66. else
  67. {
  68. s.push_back(dea[i] - '0');
  69. }
  70. }
  71. }
  72. else if (dea.size()==deb.size()&&check_10==true)
  73. {
  74. s.push_back(1);
  75. }
  76. else
  77. {
  78. for (; i < deb.size(); i++)
  79. {
  80. if (check_10)
  81. {
  82. s.push_back(deb[i] - '0' + 1);
  83. check_10 = false;
  84. }
  85. else
  86. {
  87. s.push_back(deb[i] - '0');
  88. }
  89. }
  90. }
  91.  
  92. for (int i = s.size()-1; i >= 0; i--)
  93. {
  94. cout << s[i];
  95. }
  96.  
  97.  
  98.  
  99. return 0;
  100. }
Success #stdin #stdout 0s 4300KB
stdin
999999999999999
1
stdout
9999999999999100