본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 5533 유니크

 

 

Baekjoon Online Judge

 

5533번: 유니크

첫째 줄에 참가자의 수 N이 주어진다. (2 ≤ N ≤ 200) 둘째 줄부터 N개 줄에는 각 플레이어가 1번째, 2번째, 3번째 게임에서 쓴 수가 공백으로 구분되어 주어진다.

www.acmicpc.net

 

 

[문제]

상근이와 친구들은 MT에 가서 아래 설명과 같이 재미있는 게임을 할 것이다.

각 플레이어는 1이상 100 이하의 정수를 카드에 적어 제출한다. 각 플레이어는 자신과 같은 수를 쓴 사람이 없다면, 자신이 쓴 수와 같은 점수를 얻는다. 만약, 같은 수를 쓴 다른 사람이 있는 경우에는 점수를 얻을 수 없다.

상근이와 친구들은 이 게임을 3번 했다. 각 플레이어가 각각 쓴 수가 주어졌을 때, 3번 게임에서 얻은 총 점수를 구하는 프로그램을 작성하시오.

 

 

[입력]

첫째 줄에 참가자의 수 N이 주어진다. (2 ≤ N ≤ 200) 둘째 줄부터 N개 줄에는 각 플레이어가 1번째, 2번째, 3번째 게임에서 쓴 수가 공백으로 구분되어 주어진다.

 

 

[출력]

각 플레이어가 3번의 게임에서 얻은 총 점수를 입력으로 주어진 순서대로 출력한다.

 

 


 

[코드]

#include <iostream>
using namespace std;

int main()
{
    int N, a[200][3], res[200] = { 0 };

    cin >> N;

    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < 3; j++)
            cin >> a[i][j];
    }

    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            bool TF = false;

            for (int k = 0; k < N; k++)
            {
                if (a[i][j] == a[k][j] && i != k)
                    TF = true;
            }

            if (TF == false)
                res[i] += a[i][j];
        }

        cout << res[i] << '\n';
    }

    return 0;
}

 

 

 

'Baekjoon > C++' 카테고리의 다른 글

[C++][BOJ/백준] 3047 ABC  (1) 2024.02.07
[C++][BOJ/백준] 2864 5와 6의 차이  (0) 2024.02.06
[C++][BOJ/백준] 1032 명령 프롬프트  (0) 2024.02.04
[C++][BOJ/백준] 1037 약수  (0) 2024.02.03
[C++][BOJ/백준] 11170 0의 개수  (0) 2024.02.01