https://www.acmicpc.net/problem/4493

 

4493번: 가위 바위 보?

첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어

www.acmicpc.net

 

문제

가위 바위 보는 두 명이서 하는 게임이다. 보통 미리 정해놓은 수 만큼 게임을 하고, 많은 게임을 이긴 사람이 최종 승자가 된다.

가위 바위 보를 한 횟수와 매번 두 명이 무엇을 냈는지가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.

  • 바위는 가위를 이긴다.
  • 가위는 보를 이긴다.
  • 보는 바위를 이긴다.

입력

첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어진다. R, P, S는 순서대로 바위, 보, 가위이고 첫 번째 문자는 Player 1의 선택, 두 번째 문자는 Player 2의 선택이다.

출력

각 테스트 케이스에 대해서 승자를 출력한다. (Player 1 또는 Player 2) 만약, 비겼을 경우에는 TIE를 출력한다.

예제 입력 1 

3
2
R P
S R
3
P P
R S
S R
1
P R

예제 출력 1 

Player 2
TIE
Player  

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using namespace std;
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <functional>
#include <cmath>
#include <map>
#include <set>
#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#define ll long long
typedef pair<intint> PII;
 
 
int main() {
    int t;
    cin >> t;
 
    while (t--) {
        char a, b;
        int p1 = 0, p2 = 0;
        int test;
        cin >> test;
 
        while (test--) {
            cin >> a >> b;
 
            if (a == 'R') { //바위
                if (b == 'R') {
                    continue;
                }
                else if (b == 'S') {
                    p1++;
                }
                else if (b == 'P') {
                    p2++;
                }
            }
            else if (a == 'S') { //가위
                if (b == 'R') {
                    p2++;
                }
                else if (b == 'S') {
                    continue;
                }
                else if (b == 'P') {
                    p1++;
                }
 
            }
            else if (a == 'P') { //보
                if (b == 'R') {
                    p1++;
                }
                else if (b == 'S') {
                    p2++;
                }
                else if (b == 'P') {
                    continue;
                }
            }
        }
 
 
 
 
        if (p1 > p2) {
            cout << "Player 1" << "\n";
        }
        else if (p1 < p2) {
            cout << "Player 2" << "\n";
        }
        else {
            cout << "TIE" << "\n";
        }
    
    
    }
 
    return 0;
}
cs

 

728x90
반응형
_니지