Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- round 420
- 7469
- 대수학
- finite group
- round 424
- 알고리즘
- Algorithm
- persistent segment tree
- Codeforces
- Algebraic Geometry
- 마일리지
- 이베이트코리아
- algebra
- acmicpc
- indexed tree
- 대한항공
- 아시아나
- k번째 수
- self balancing binary search tree
- Ebate Korea
- 구간쿼리
- 이베이트미국
- BOJ
- 백준
- ccw
- 이베이트
- gallian
- Ebate USA
- persistent indexed tree
- subgroup
Archives
- Today
- Total
[Round#405 Div.2] B. Bear and Friendship Condition 본문
http://codeforces.com/contest/791/problem/B
임의의 세점 X,Y,Z에 대해 X-Y && Y-Z 이면 X-Z를 만족하는가를 묻는 문제이다.
한점 X와 연결되어있는 Xi 들은 모두 서로 연결되어있어야 한다는 것을 알 수 있고,
따라서 임의의 점 X를 잡고 그것과 연결된 노드들 X1 ~ Xk 의 개수를 k라 하면
X에 연결된 노드 개수와 X1~Xk에 연결된 노드 개수들의 합이 k*(k-1)인지를 확인하면 된다.
주의할 점은
for(int i=1;i<=n;i++){
sum=0;
for(auto it:v[i]){
sum+=it;
}
if(v[i].size()*(v[i].size()-1) != sum){
printf("NO");
return 0;
}
}
이런식으로 for문을 짜면 안된다는것.
(반례가 있어보였으나.. 일단 제출해보니 AC를 주길래 맞는가 했더니 처음으로 Hack을 다함 -_-;)
그냥 명확하게 dfs로 위 방법을 구현해내면 되는듯 하다.
'Algorithm > CodeForces' 카테고리의 다른 글
[Round#420 Div.2] B. Okabe and Banana Trees (0) | 2017.06.26 |
---|---|
[Round#419 Div.2] D. Karen and Test (0) | 2017.06.21 |
[Round#404 Div.2] D. Anton and School - 2 (0) | 2017.03.16 |
[Round#403 Div.2] B. The Meeting Place Cannot Be Changed (0) | 2017.03.11 |
[Round#402 Div.2] A. Pupils Redistribution (0) | 2017.03.05 |