BOJ

10775 공항

공부정리 2017. 9. 6. 11:11

이분매칭으로 하니까 check배열 매번 초기화 안해도 시간초과남... 하긴 모든 입력이 10만이면 답없을듯.


<코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int G, p, g, d[100001], ans, t, flag = 1;
 
int f(int x) {
    return x == d[x] ? x : d[x] = f(d[x]);
}
 
int main() {
    scanf("%d%d"&G, &p);
    for (int i = 0; i <= G; i++) d[i] = i;
    while (p--) {
        scanf("%d"&g);
        t = f(g);
        if (t && flag) d[t] = t - 1;
        else flag = 0;
        ans += flag;
    }
    printf("%d\n", ans);
    return 0;
}
cs