fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. bool benar;
  6. int n, tim[6], poin[6];
  7.  
  8. void match(int home, int away) {
  9. if (home == n) {
  10. bool sama = 1;
  11. for (int i = 1; i <= n; i++) {
  12. if (tim[i] != poin[i]) {
  13. sama = 0;
  14. }
  15. }
  16. if (sama) {
  17. benar = 1;
  18. }
  19. return;
  20. }
  21. poin[home] += 3;
  22. if (away == n) {
  23. match(home+1, home+2);
  24. } else {
  25. match(home, away+1);
  26. }
  27. poin[home] -= 3;
  28.  
  29. poin[away] += 3;
  30. if (away == n) {
  31. match(home+1, home+2);
  32. } else {
  33. match(home, away+1);
  34. }
  35. poin[away] -= 3;
  36.  
  37. poin[home]++;
  38. poin[away]++;
  39. if (away == n) {
  40. match(home+1, home+2);
  41. } else {
  42. match(home, away+1);
  43. }
  44. poin[home]--;
  45. poin[away]--;
  46. }
  47.  
  48. int main() {
  49. int t;
  50. scanf("%d", &t);
  51. while (t--) {
  52. benar = 0;
  53. scanf("%d", &n);
  54. for (int i = 1; i <= n; i++) {
  55. scanf("%d", &tim[i]);
  56. }
  57. match(1, 2);
  58. if (benar) {
  59. printf("YES\n");
  60. } else {
  61. printf("NO\n");
  62. }
  63. }
  64. }
Success #stdin #stdout 0s 5308KB
stdin
2
4 9 6 6 1
4 7 4 4 1
stdout
NO
YES