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

 

5176번: 대회 자리

이번 ACM-ICPC 대회의 자리는 참가자들이 직접 정한다. 참가자들은 예비 소집일에 자신이 원하는 자리를 미리 정해놓았고, 대회 당일에 어제 적어놓은 자리에 앉으면 된다. 여러명이 같은 자리를

www.acmicpc.net

 

문제

이번 ACM-ICPC 대회의 자리는 참가자들이 직접 정한다. 참가자들은 예비 소집일에 자신이 원하는 자리를 미리 정해놓았고, 대회 당일에 어제 적어놓은 자리에 앉으면 된다. 여러명이 같은 자리를 적어논 경우에는, 먼저 도착한 사람이 그 자리에 앉게되고, 앉지 못한 사람은 대회에 참가할 수 없다.

각 사람이 선호하는 자리가 주어졌을 때, 대회에 참가하지 못하는 사람의 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스는 다음과 같이 구성되어 있다.

첫째 줄에 참가자의 수 P와 자리의 수 M이 주어진다. (1 ≤ P, M ≤ 500) 다음 P개 줄에는 각 참가자가 원하는 자리가 주어진다. 자리는 1번부터 M번까지 있다. 입력으로 주어지는 참가자가 도착하는 순서이다.

출력

각 테스트 케이스에 대해서, 대회에 참가하지 못하는 사람의 수를 출력한다.

예제 입력 1 

3
4 1
1
1
1
1
4 4
1
2
3
4
4 4
1
4
1
4

예제 출력 1 

3
0
2

 

코드

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
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--) {
        int cnt = 0;
        int check[501= { 0, };
        int p, m;
        cin >> p >> m;
 
 
        while (p--) {
            int want;
            cin >> want;
 
            if (!check[want]) {
                check[want] = 1;
            }
            else {
                cnt++;
            }
        }
    
        cout << cnt << "\n";
    }
 
 
    return 0;
}
cs

 

728x90
반응형
_니지