#include <iostream>
//각자 공개할때마다 라운드 증가 10개의 카드(10라운드)
//숫자가 더 큰 사람이 이김 비기면 D
//이기면 3점 패자 0점 동점 1점
//총점이 같으면 마지막라운드에서 이긴 사람
//모든 라운드에서 비기면 비김
int main() {
int A[10],B[10];
int AP = 0 ,BP = 0,i;
int rw = 0;
//round winer를 체크하여 마지막에 누가 이겼는지를 알도록 함
//이게 핵심
for(i = 0; i < 10; i++){
scanf("%d",&A[i]);
}
for(i = 0; i < 10; i++){
scanf("%d",&B[i]);
}
for(i = 0; i < 10; i++){
if(A[i] == B[i]){
AP+=1;
BP+=1;
}
else if(A[i] > B[i]) {AP+=3; rw=1; }
else if(A[i] < B[i]) {BP+=3; rw=2; }
}
if(AP == BP){
if(rw == 0) printf("D\n");
else if(rw == 1) printf("A\n");
else if(rw == 2) printf("B\n");
}
else if(AP > BP){ printf("%d %d\n",AP,BP); printf("A\n"); }
else if(AP < BP){ printf("%d %d\n",AP,BP); printf("B\n"); }
return 0;
}
- rw를 체크하여 마지막 라운드의 승자가 누구인지를 체크하는 것이 핵심이다.
- 문제에서, 총점이 같은 경우에는 마지막에 이긴 사람을 승자로 한다고 했는데 본인은 "마지막 라운드"라고 잘못 읽어서 무조건 A[9]와 B[9]를 체크해야겠다고만 생각했다... 그래서 완전 꼬였다. 문제를 제대로 읽어야겠다..ㅠㅠ
- 뭐 그걸 떠나서 승자체크를 계속 해주는게 매우 중요하다.