https://www.acmicpc.net/problem/2606
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 36 37 38 39 40 41 42 | #include <iostream> #include <vector> using namespace std; int ret = 0; vector<int> v[101]; bool visited[101] = {0}; void dfs(int start); int main(){ ios_base::sync_with_stdio(false); int com_n, n; cin >> com_n >> n; for(int i = 0; i < n; i++){ int x,y; cin >> x >> y; v[x].push_back(y); v[y].push_back(x); } dfs(1); cout << ret-1; return 0; } void dfs(int start){ for(int i = 0; i < v[start].size(); i++){ int tmp = v[start][i]; if(visited[tmp]) continue; visited[tmp] = true; ret+=1; dfs(tmp); } } | cs |
반응형
'프로그래밍 > 문제풀이' 카테고리의 다른 글
[bfs, dfs] 백준 2573 빙산 (0) | 2019.03.25 |
---|---|
[bfs, dfs] 백준 2667 단지번호붙이기 (0) | 2019.03.24 |
[bfs] 백준 7569 토마토 (0) | 2019.03.22 |
[bfs] 라비다 1052 maze problem (0) | 2019.03.18 |
[dp] 백준 1495 기타리스트 (0) | 2019.02.20 |