fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int N, S; // 宣告 N 為技能數量,S 為技能等級的暫存變數
  5. int A = 0, B = 0, C = 0, D = 0; // A, B, C, D 分別代表四位玩家的 C 指數計數
  6. int i;
  7.  
  8. // 第一位玩家的技能數據
  9. scanf("%d", &N); // 輸入第一位玩家技能數量
  10. for (i = 0; i < N; i++) {
  11. scanf("%d", &S); // 輸入每個技能的等級
  12. if (S > A) // 如果當前技能等級 S 大於 A 的目前值
  13. A = A + 1; // 計數 A 加 1,表示達到該條件的技能數量
  14. }
  15.  
  16. // 第二位玩家的技能數據
  17. scanf("%d", &N); // 輸入第二位玩家技能數量
  18. for (i = 0; i < N; i++) {
  19. scanf("%d", &S);
  20. if (S > B) // 如果當前技能等級 S 大於 B 的目前值
  21. B = B + 1; // 計數 B 加 1,表示達到該條件的技能數量
  22. }
  23.  
  24. // 第三位玩家的技能數據
  25. scanf("%d", &N); // 輸入第三位玩家技能數量
  26. for (i = 0; i < N; i++) {
  27. scanf("%d", &S);
  28. if (S > C) // 如果當前技能等級 S 大於 C 的目前值
  29. C = C + 1; // 計數 C 加 1,表示達到該條件的技能數量
  30. }
  31.  
  32. // 第四位玩家的技能數據
  33. scanf("%d", &N); // 輸入第四位玩家技能數量
  34. for (i = 0; i < N; i++) {
  35. scanf("%d", &S);
  36. if (S > D) // 如果當前技能等級 S 大於 D 的目前值
  37. D = D + 1; // 計數 D 加 1,表示達到該條件的技能數量
  38. }
  39.  
  40. // 依據 A, B, C, D 的值由大到小輸出
  41. // 優先比較 D 的大小,從而排列 C、B、A
  42. if (D >= C && D >= B && D >= A) { // 若 D 最大
  43. printf("D ");
  44. if (C >= B && C >= A) { // C 排第二
  45. printf("C ");
  46. if (B >= A) { // 若 B >= A,順序為 B, A
  47. printf("B A\n");
  48. } else { // 否則順序為 A, B
  49. printf("A B\n");
  50. }
  51. } else if (B >= C && B >= A) { // 若 B 排第二
  52. printf("B ");
  53. if (C >= A) { // 若 C >= A,順序為 C, A
  54. printf("C A\n");
  55. } else { // 否則順序為 A, C
  56. printf("A C\n");
  57. }
  58. } else { // 若 A 排第二
  59. printf("A ");
  60. if (C >= B) { // 若 C >= B,順序為 C, B
  61. printf("C B\n");
  62. } else { // 否則順序為 B, C
  63. printf("B C\n");
  64. }
  65. }
  66. }
  67. // 接下來的分支使用相同方式檢查 C, B, A 誰最大
  68. else if (C >= D && C >= B && C >= A) { // 若 C 最大
  69. printf("C ");
  70. if (D >= B && D >= A) { // 若 D 第二大
  71. printf("D ");
  72. if (B >= A) {
  73. printf("B A\n");
  74. } else {
  75. printf("A B\n");
  76. }
  77. } else if (B >= D && B >= A) { // 若 B 第二大
  78. printf("B ");
  79. if (D >= A) {
  80. printf("D A\n");
  81. } else {
  82. printf("A D\n");
  83. }
  84. } else { // 若 A 第二大
  85. printf("A ");
  86. if (D >= B) {
  87. printf("D B\n");
  88. } else {
  89. printf("B D\n");
  90. }
  91. }
  92. }
  93. else if (B >= D && B >= C && B >= A) { // 若 B 最大
  94. printf("B");
  95. if (D >= C && D >= A) {
  96. printf("D ");
  97. if (C >= A) {
  98. printf("C A\n");
  99. } else {
  100. printf("A C\n");
  101. }
  102. } else if (C >= D && C >= A) {
  103. printf("C ");
  104. if (D >= A) {
  105. printf("D A\n");
  106. } else {
  107. printf("A D\n");
  108. }
  109. } else {
  110. printf("A ");
  111. if (D >= C) {
  112. printf("D C\n");
  113. } else {
  114. printf("C D\n");
  115. }
  116. }
  117. }
  118. else { // 若 A 最大
  119. printf("A ");
  120. if (D >= C && D >= B) {
  121. printf("D ");
  122. if (C >= B) {
  123. printf("C B\n");
  124. } else {
  125. printf("B C\n");
  126. }
  127. } else if (C >= D && C >= B) {
  128. printf("C ");
  129. if (D >= B) {
  130. printf("D B\n");
  131. } else {
  132. printf("B D\n");
  133. }
  134. } else {
  135. printf("B ");
  136. if (D >= C) {
  137. printf("D C\n");
  138. } else {
  139. printf("C D\n");
  140. }
  141. }
  142. }
  143.  
  144. return 0;
  145. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
D C B A