본문 바로가기

Algorithm

(C++) - 백준(BOJ) 5533번 : 유니크

반응형

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

 

5533번: 유니크

문제 상근이와 친구들은 MT에 가서 아래 설명과 같이 재미있는 게임을 할 것이다. 각 플레이어는 1이상 100 이하의 정수를 카드에 적어 제출한다. 각 플레이어는 자신과 같은 수를 쓴 사람이 없다면, 자신이 쓴 수와 같은 점수를 얻는다. 만약, 같은 수를 쓴 다른 사람이 있는 경우에는 점수를 얻을 수 없다. 상근이와 친구들은 이 게임을 3번 했다. 각 플레이어가 각각 쓴 수가 주어졌을 때, 3번 게임에서 얻은 총 점수를 구하는 프로그램을 작성하시오. 입력

www.acmicpc.net

간단한 구현 문제였습니다.

 

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
#include <iostream>
using namespace std;
int ans[201];
int a[201][4];
 
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= 3; j++)
        {
            cin >> a[i][j];
        }
    }
    for (int k = 1; k <= 3; k++)
    {
        for (int i = 1; i <= n; i++)
        {
            int cnt = 0;
            for (int j = 1; j <= n; j++)
            {
                if (a[i][k] == a[j][k] && i != j)
                {
                    cnt = 1;
                    break;
                }
            }
            if (!cnt)
                ans[i] += a[i][k];
        }
    }
    for (int i = 1; i <= n; i++)
    {
        cout << ans[i] << '\n';
    }
}
cs