fork download
  1.  
  2. let pai = new Array(34);
  3. pai.fill(4);
  4. let count = 0;
  5.  
  6. function juntsu(rem, p) {
  7. if (rem === 0) {
  8. count++;
  9. return;
  10. }
  11. for (let i = p; i < 27; i++) {
  12. if (i % 9 > 6) continue;
  13. if (pai[i] === 0) continue;
  14. if (pai[i+1] === 0) continue;
  15. if (pai[i+2] === 0) continue;
  16. pai[i]--;
  17. pai[i+1]--;
  18. pai[i+2]--;
  19. juntsu(rem-1, i);
  20. pai[i]++;
  21. pai[i+1]++;
  22. pai[i+2]++;
  23.  
  24. }
  25. }
  26.  
  27. function mentsu(rem, p) {
  28. if (rem === 0) {
  29. count++;
  30. return;
  31. }
  32. for (let i = p; i < 34; i++) {
  33. if (pai[i] < 4) continue;
  34. pai[i] -= 3;
  35. mentsu(rem-1, i+1);
  36. juntsu(rem-1, 0);
  37. pai[i] += 3;
  38. }
  39. }
  40.  
  41. function atama() {
  42. for (let i = 0; i < 34; i++) {
  43. pai[i] -= 2;
  44. mentsu(4, 0);
  45. juntsu(4, 0);
  46. pai[i] += 2;
  47. }
  48. }
  49.  
  50. atama();
  51.  
  52. print(count);
  53.  
Success #stdin #stdout 0.22s 20656KB
stdin
Standard input is empty
stdout
12971847