fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. long toNum (string s)
  6. {
  7. long S = 0;
  8. for (int i=0; i<s.length(); i++)
  9. {
  10. int tmp = s[i] - '0';
  11. S = S*10 + tmp;
  12. }
  13. return S;
  14. }
  15.  
  16. string toString (long x)
  17. {
  18. string s = "";
  19. while (1)
  20. {
  21. char tmp = x%10 + '0';
  22. x /= 10;
  23. s = tmp + s;
  24. if (x==0) break;
  25. }
  26. return s;
  27. }
  28.  
  29. string del_0 (string s)
  30. {
  31. while (1)
  32. {
  33. int vt = s.length()-1;
  34. while (s[vt]!='0' && vt>=0) vt--;
  35. if (vt>=0)
  36. s.erase(s.begin()+vt, s.begin()+vt+1);
  37. else
  38. break;
  39. }
  40. return s;
  41. }
  42.  
  43. int main ()
  44. {
  45. string a, b;
  46. cin>>a>>b;
  47.  
  48. long num_a = toNum (a);
  49. long num_b = toNum (b);
  50. long VT = toNum (del_0 (toString (num_a+num_b))); // (num_a+num_b) long -> string -> (delete 0) string -> long
  51.  
  52. long num_a_not0 = toNum (del_0 (a));
  53. long num_b_not0 = toNum (del_0 (b));
  54. long VP = num_a_not0 + num_b_not0;
  55.  
  56. if (VT==VP) cout<<"YES";
  57. else cout<<"NO";
  58.  
  59. return 0;
  60. }
Success #stdin #stdout 0s 4360KB
stdin
105

106
stdout
NO