fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(){
  6.  
  7. string line1, line2;
  8. cin >> line1 >> line2;
  9. int placed = 0;
  10.  
  11. int leftSide = 0, rightSide = line1.length()-1;
  12.  
  13. while(true){
  14. //cout << leftSide << endl;
  15. if(leftSide == rightSide){
  16. break;
  17. }
  18. if(line1[leftSide] == 'X' && line2[leftSide] == 'X'){
  19. leftSide++;
  20. }
  21. else if(line1[leftSide] == '0' && line2[leftSide] == '0'){
  22. if(line1[leftSide+1] == '0'){
  23. line1.replace(leftSide+1,1,string(1,'X'));
  24. leftSide++;
  25. placed++;
  26. }else if(line2[leftSide+1] == '0'){
  27. line2.replace(leftSide+1,1,string(1,'X'));
  28. leftSide++;
  29. placed++;
  30. }
  31. else{
  32. leftSide++;
  33. }
  34. }
  35. else if(line1[leftSide+1] == '0' && line2[leftSide+1] == '0'){
  36. if(line1[leftSide] == '0'){
  37. line1.replace(leftSide+1,1,string(1,'X'));
  38. line2.replace(leftSide+1,1,string(1,'X'));
  39. leftSide++;
  40. placed++;
  41. }else if(line2[leftSide] == '0'){
  42. line1.replace(leftSide+1,1,string(1,'X'));
  43. line2.replace(leftSide+1,1,string(1,'X'));
  44. leftSide++;
  45. placed++;
  46. }
  47. else{
  48. leftSide++;
  49. }
  50. }
  51. else{
  52. leftSide++;
  53. }
  54. }
  55. cout << placed << endl;
  56.  
  57. return 0;
  58. }
  59.  
  60.  
Success #stdin #stdout 0s 4540KB
stdin
0X0X0
0X0X0
stdout
0