| #include <iostream> using namespace std; | |
| int N, M; | |
| bool map[1002][1002]; | |
| bool visit[1001]; | |
| void dfs(int y) | |
| { | |
| visit[y]=1; | |
| for(int i=1; i<=N; i++) | |
| if(map[y][i] && !visit[i]) | |
| dfs(i); | |
| } | |
| int main() | |
| { | |
| int cnt=0; | |
| cin >> N >> M; | |
| for(int i=0; i<M; i++) | |
| { | |
| int u, v; | |
| cin >> u >> v; | |
| map[u][v]=1; | |
| map[v][u]=1; | |
| } | |
| for(int i=1; i<=N; i++) | |
| { | |
| for(int j=1; j<=N; j++) | |
| { | |
| if(map[i][j] && !visit[j]) | |
| { | |
| dfs(i); | |
| cnt++; | |
| } | |
| } | |
| } | |
| for(int i=1; i<=N; i++) | |
| if(!visit[i]) cnt++; | |
| cout << cnt; | |
| } |
71.
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 171120_1210_Ladder1 (0) | 2017.11.20 |
|---|---|
| 171120_1389_케빈 베이컨의 6단계 법칙 (0) | 2017.11.20 |
| 171118_2468_안전 영역 (0) | 2017.11.18 |
| 171117_2583_영역 구하기 (0) | 2017.11.17 |
| 171116_1987_알파벳 (0) | 2017.11.16 |