구현문제


d = 2,3,4일때 부모의 수(a[i])를 변수로 두고 식을 세워보면


(a[i] - d + d - 2) / (d - 1) = (a[i] - 2) / (d - 1)이 나온다.


a[i]>d일 때 더해주면 끝


<코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int n, d, a[100001], t, ans;
 
int main() {
    scanf("%d%d"&n, &d);
    for (int i = 0; i < n; i++) {
        scanf("%d"&t);
        a[t]++;
    }
    for (int i = 0; i <= n; i++if (a[i] > d) 
        ans += (a[i] - 2/ (d - 1);
    printf("%d", ans);
    return 0;
}
cs


'BOJ' 카테고리의 다른 글

2311 왕복 여행  (0) 2017.09.06
5588 별자리 찾기  (0) 2017.09.06
3780 네트워크 연결  (0) 2017.09.06
9938 방 청소  (0) 2017.09.06
10775 공항  (0) 2017.09.06

+ Recent posts