bfs 하기
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 32 33 34 35 | #include<bits/stdc++.h> using namespace std; int K, N; int main(){ int N, M; int edgeList[101][101]; int visitedList[101]; memset(edgeList, 0, sizeof(edgeList)); memset(visitedList, 0, sizeof(visitedList)); cin >> N >> M; for(int i = 0;i < M; i++){ int src, dst; cin >> src >> dst; edgeList[src][dst] = 1; edgeList[dst][src] = 1; } queue<int> que; que.push(1); visitedList[1] = 1; int result = 0; while(!que.empty()){ int current = que.front(); que.pop(); for(int dst = 1 ; dst <= N; dst++){ if(edgeList[current][dst] && !visitedList[dst]){ que.push(dst); visitedList[dst] = 1; result++; } } } cout << result; return 0; } | cs |
'* Computer Science > Algorithm' 카테고리의 다른 글
baekjun 2178. 미로탐색 (0) | 2018.10.30 |
---|---|
baekjun 11048. 이동하기 (0) | 2018.10.29 |
baekjun 7569. 토마토2 (0) | 2018.10.05 |
baekjun 7576. 토마토 (0) | 2018.10.05 |
baekjun 조세푸스 수열 (0) | 2018.08.27 |