fork download
  1. #include <stdio.h>
  2.  
  3. int cc[4][32][32];
  4.  
  5. void s ()
  6. {
  7. int i, j;
  8. static int c[4][32];
  9.  
  10. for (i = 27; i >= 3; i--)
  11. c[0][29 - i] = i * (i - 1) * (i - 2) / 6;
  12. for (i = 26; i >= 2; i--)
  13. c[1][29 - i] = i * (i - 1) / 2;
  14. for (i = 25; i >= 1; i--)
  15. c[2][29 - i] = i;
  16. for (i = 24; i >= 0; i--)
  17. c[3][29 - i] = 1;
  18.  
  19. for (j = 0; j <= 0; j++) {
  20. for (i = j + 1; i <= 25; i++) {
  21. if (i > j + 1)
  22. cc[0][j][i] = c[0][i] + cc[0][j][i - 1];
  23. }
  24. }
  25. for (j = 1; j <= 25; j++) {
  26. for (i = j + 1; i <= 26; i++) {
  27. if (i > j + 1)
  28. cc[1][j][i] = c[1][i] + cc[1][j][i - 1];
  29. }
  30. }
  31. for (j = 2; j <= 26; j++) {
  32. for (i = j + 1; i <= 27; i++) {
  33. if (i > j + 1)
  34. cc[2][j][i] = c[2][i] + cc[2][j][i - 1];
  35. }
  36. }
  37. for (j = 3; j <= 27; j++) {
  38. for (i = j + 1; i <= 28; i++) {
  39. if (i > j + 1)
  40. cc[3][j][i] = c[3][i] + cc[3][j][i - 1];
  41. }
  42. }
  43. }
  44.  
  45. int main ()
  46. {
  47. int a, b, c, d;
  48. int h;
  49. int i = 0;
  50.  
  51. s();
  52.  
  53. for (a = 1; a <= 28; a++) {
  54. for (b = a + 1; b <= 28; b++) {
  55. for (c = b + 1; c <= 28; c++) {
  56. for (d = c + 1; d <= 28; d++) {
  57. h = cc[0][0][a] + cc[1][a][b] + cc[2][b][c] + cc[3][c][d];
  58. //printf ("%3d%3d%3d%3d\n", a, b, c, d);
  59. //printf ("%d %d\n", i, h);
  60. if (i++ != h)
  61. printf ("err\n");
  62. }
  63. }
  64. }
  65. }
  66. }
  67.  
Success #stdin #stdout 0s 4344KB
stdin
Standard input is empty
stdout
Standard output is empty