| //https://www.acmicpc.net/problem/2606 #include <iostream> | |
| #include <queue> | |
| using namespace std; | |
| int N, M, cnt; | |
| bool network[101][101]; | |
| bool visited[101]; | |
| void input(){ | |
| cin >> N >> M; | |
| int a,b; | |
| for(int i=0; i<M; i++){ | |
| cin >> a >> b; | |
| network[a][b]=network[b][a]=1; | |
| } | |
| } | |
| void bfs(){ | |
| queue<int> q; | |
| q.push(1); | |
| visited[1]=1; | |
| while(!q.empty()){ | |
| int now=q.front(); | |
| q.pop(); | |
| for(int i=2; i<=N; i++){ | |
| if(network[now][i] && !visited[i]){ | |
| q.push(i); | |
| visited[i]=1; | |
| cnt++; | |
| } | |
| } | |
| } | |
| } | |
| int main(){ | |
| input(); | |
| bfs(); | |
| cout << cnt; | |
| } |
'알고리즘 문제 풀이 > 1DP_과제(~180615)' 카테고리의 다른 글
| 180209_3052_나머지 (0) | 2018.02.09 |
|---|---|
| 180208_1963_소수 경로 (0) | 2018.02.08 |
| 180206_5014_스타트링크 (0) | 2018.02.06 |
| 180205_2589_보물섬 (0) | 2018.02.05 |
| 180203_1010_다리 놓기 (0) | 2018.02.03 |