fork download
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5. int main(){
  6. int x[] = {0,1,2,3,4,5,6,7,8,9};
  7. int A,B,C,D,E,F,G,H,I,J;
  8.  
  9. do {
  10. A = x[0];
  11. B = x[1];
  12. C = x[2];
  13. D = x[3];
  14. E = x[4];
  15. F = x[5];
  16. G = x[6];
  17. H = x[7];
  18. I = x[8];
  19. J = x[9];
  20.  
  21. int p9 = G;
  22. int p19 = C;
  23.  
  24. for (int p1 = 1; p1<10; p1++)
  25.  
  26. for (int p2 = 1; p2<10; p2++)
  27. if(p1 != p2 &&
  28. p1+p2 == 10*D+E )
  29. for (int p4 = 1; p4<10; p4++)
  30. if(p4!= p1 &&
  31. p1+p4+p9 == A*10+B)
  32. for(int p5=1; p5<10; p5++)
  33. if(p5!=p2 &&
  34. p4!=p5 &&
  35. p5+p2 == C )
  36. for(int p3 =1; p3<10; p3++)
  37. if(p3 != p4 &&
  38. p3 != p5)
  39. for(int p6 = 1; p6<10; p6++)
  40. if(p6!= p3 &&
  41. p6 != p4 &&
  42. p6 != p5 &&
  43. p3+p4+p5+p6 == 10*D+D)
  44. for (int p7=1; p7<10; p7++)
  45. if(p7 != p9 )
  46. for (int p8=1; p8<10; p8++)
  47. if( p8 != p7 &&
  48. p8 != p3 &&
  49. p8 != p9 &&
  50. p7+p8+p9 == 10*D+F)
  51. for (int p12=1; p12<10; p12++)
  52. if( p12 !=p7 &&
  53. p12+p7 == H )
  54. for (int p13=1; p13<10; p13++)
  55. if( p13 != p3 &&
  56. p13 != p8 &&
  57. p13 != p12 &&
  58. p12+p13 == G )
  59. for (int p17=1; p17<10; p17++)
  60. if( p17 != p3 &&
  61. p17 != p8 &&
  62. p17 != p13 &&
  63. p17 != p19 &&
  64. p17+p13+p8+p3 == 10*A + F )
  65. for (int p18=1; p18<10; p18++)
  66. if( p18 != p17 &&
  67. p18 != p19 )
  68. for (int p21=1; p21<10; p21++)
  69. if( p21 != p18 &&
  70. p18 + p21 == D*10+C )
  71. for (int p14=1; p14<10; p14++)
  72. if( p14 != p19 )
  73. for (int p22=1; p22<10; p22++)
  74. if( p22 != p14 &&
  75. p22 != p19 &&
  76. p22 != p21 &&
  77. p22 + p21 == D*10+C &&
  78. p14 + p19 + p22 == A*10+I )
  79. for (int p10=1; p10<10; p10++)
  80. if( p10 != p6 )
  81. for (int p11=1; p11<10; p11++)
  82. if( p11 != p10 &&
  83. p10 + p11 == H )
  84. for (int p15=1; p15<10; p15++)
  85. if( p15 != p6 &&
  86. p15 != p10 &&
  87. p15 != p14 )
  88. for (int p16=1; p16<10; p16++)
  89. if( p16 != p11 &&
  90. p16 != p14 &&
  91. p16 != p15 &&
  92. p11 + p16 == G &&
  93. p14 + p15 + p16 == A*10 + H)
  94. for (int p20=1; p20<10; p20++)
  95. if( p20 != p6 &&
  96. p20 != p10 &&
  97. p20 != p15 &&
  98. p20 != p17 &&
  99. p20 != p18 &&
  100. p20 != p19 &&
  101.  
  102. p6 + p10 + p15 + p20 == D*10 + G &&
  103. p17 + p18 + p19 +p20 == H*10 + B)
  104.  
  105. {
  106. // --- ---
  107. // | 1 | 2 |
  108. // --- --- --- ---
  109. // | 3 | 4 | 5 | 6 |
  110. // --- --- --- --- --- ---
  111. //| 7 | 8 | G | X | a | b |
  112. // --- --- --- --- --- ---
  113. //| c | d | X | e | f | g |
  114. // --- --- --- --- --- ---
  115. // | h | i | C | j |
  116. // --- --- --- ---
  117. // | 1 | 2 |
  118. // --- ---
  119. cout << "A: "<<x[0]<<" B: "<<x[1]<<" C: "<<x[2]<<" D: "<<x[3]<<" E: "<<x[4]<<
  120. " F: "<<x[5]<<" G: "<<x[6]<<" H: "<<x[7]<<" I: "<<x[8]<<" J: "<<x[9]<<endl;
  121. cout<< " --- ---\n"<<
  122. " | "<<p1<<" | "<<p2<<" |\n"<<
  123. " --- --- --- ---\n"<<
  124. " | "<<p3<<" | "<<p4<<" | "<<p5<<" | "<<p6<<" |\n"<<
  125. " --- --- --- --- --- ---\n"<<
  126. "| "<<p7<<" | "<<p8<<" | "<<p9<<" | X | "<<p10<<" | "<<p11<<" |\n"<<
  127. " --- --- --- --- --- ---\n"<<
  128. "| "<<p12<<" | "<<p13<<" | X | "<<p14<<" | "<<p15<<" | "<<p16<<" |\n"<<
  129. " --- --- --- --- --- ---\n"<<
  130. " | "<<p17<<" | "<<p18<<" | "<<p19<<" | "<<p20<<" |\n"<<
  131. " --- --- --- ---\n"<<
  132. " | "<<p21<<" | "<<p22<<" |\n"<<
  133. " --- ---\n\n";
  134. }
  135. }
  136. while(next_permutation(x, x+10));
  137.  
  138. }
Success #stdin #stdout 0.52s 4492KB
stdin
Standard input is empty
stdout
A: 2 B: 0 C: 7 D: 1 E: 5 F: 6 G: 8 H: 3 I: 4 J: 9
         --- ---
        | 9 | 6 |
     --- --- --- ---
    | 5 | 3 | 1 | 2 |
 --- --- --- --- --- ---
| 1 | 7 | 8 | X | 1 | 2 |
 --- --- --- --- --- ---
| 2 | 6 | X | 8 | 9 | 6 |
 --- --- --- --- --- ---
    | 8 | 9 | 7 | 6 |
     --- --- --- ---
        | 8 | 9 |
         --- ---

A: 2 B: 0 C: 7 D: 1 E: 5 F: 6 G: 8 H: 3 I: 4 J: 9
         --- ---
        | 9 | 6 |
     --- --- --- ---
    | 5 | 3 | 1 | 2 |
 --- --- --- --- --- ---
| 2 | 6 | 8 | X | 1 | 2 |
 --- --- --- --- --- ---
| 1 | 7 | X | 8 | 9 | 6 |
 --- --- --- --- --- ---
    | 8 | 9 | 7 | 6 |
     --- --- --- ---
        | 8 | 9 |
         --- ---

A: 2 B: 0 C: 7 D: 1 E: 5 F: 9 G: 8 H: 3 I: 4 J: 6
         --- ---
        | 9 | 6 |
     --- --- --- ---
    | 5 | 3 | 1 | 2 |
 --- --- --- --- --- ---
| 2 | 9 | 8 | X | 1 | 2 |
 --- --- --- --- --- ---
| 1 | 7 | X | 8 | 9 | 6 |
 --- --- --- --- --- ---
    | 8 | 9 | 7 | 6 |
     --- --- --- ---
        | 8 | 9 |
         --- ---