fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. string s,s1,answer;
  10. char temp,pm;
  11. bool fs(0);
  12. while(cin >> temp){
  13. if(temp == '('){
  14. cin >> pm >> temp;
  15. fs = 1;
  16. continue;
  17. }
  18. if(!fs)s.push_back(temp);
  19. else s1.push_back(temp);
  20. }
  21. reverse(s.begin(),s.end());
  22. reverse(s1.begin(),s1.end());
  23. while(s.size() < s1.size()){
  24. s.push_back('0');
  25. }
  26. while(s1.size() < s.size()){
  27. s1.push_back('0');
  28. }
  29. int n(s.size());
  30. answer.resize(n);
  31. int w(0);
  32. if(pm == '+'){
  33. for(int i = 0;i<n;++i){
  34. if(s[i] == s1[i] && s[i] == '+'){
  35. if(w == 1){
  36. answer[i] = '+';
  37. w = 0;
  38. } else if(w == 2){
  39. answer[i] = '0';
  40. w = 2;
  41. } else {
  42. answer[i] = '-';
  43. w = 2;
  44. }
  45. }
  46. if(s[i] == s1[i] && s[i] == '-'){
  47. if(w == 1){
  48. answer[i] = '0';
  49. w = 1;
  50. } else if(w == 2){
  51. answer[i] = '-';
  52. w = 0;
  53. } else {
  54. answer[i] = '+';
  55. w = 1;
  56. }
  57. }
  58. if(s[i] == s1[i] && s[i] == '0'){
  59. if(w == 1)answer[i] = '-';
  60. if(w == 2)answer[i] = '+';
  61. w = 0;
  62. }
  63. if(s[i] != s1[i]){
  64. if(s[i] == '0'){
  65. if(s1[i] == '-'){
  66. if(w == 1){
  67. answer[i] = '+';
  68. w = 1;
  69. } else if(w == 2){
  70. answer[i] = '0';
  71. w = 0;
  72. }
  73. else answer[i] = '-';
  74. }
  75. if(s1[i] == '+'){
  76. if(w == 1)answer[i] = '-';
  77. else if(w == 2)answer[i] = '+';
  78. else answer[i] = '0';
  79. }
  80. }
  81. if(s1[i] == '0'){
  82.  
  83. }
  84. }
  85. /////////////////////////////
  86. //
  87. }
  88. } else {
  89.  
  90. }
  91.  
  92. return 0;
  93. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty