https://www.acmicpc.net/problem/5567
항상 느끼는거지만
디버깅을 할 때에는 내가 생각한 대로 코드가 진행되는지
예상과는 다른 연산을 하지는 않는지
집요하게 살펴봐야 할 필요가 있다.
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 43 44 45 46 47 48 49 50 51 52 | #include <iostream> int friends[510][510]; bool visited[510]; int ans; int n, m; void input() { std::cin >> n >> m; for (int i = 0; i < m; ++i) { int to, from; std::cin >> from >> to; friends[from][to] = 1; friends[to][from] = 1; } visited[1] = true; } void solve_dfs(int stk, int currPos) { if (stk >= 2) { return; } for (int x = 1; x <= n; ++x) { if (friends[currPos][x] == 1) { if (visited[x] == false) { visited[x] = true; ++ans; } solve_dfs(stk + 1, x); } } } int main() { std::cin.tie(0); std::cin.sync_with_stdio(false); std::cout.tie(0); std::cout.sync_with_stdio(false); input(); solve_dfs(0, 1); std::cout << ans; return 0; } | cs |
'알고리즘' 카테고리의 다른 글
koi : 숫자 뒤집기(s) (0) | 2020.08.04 |
---|---|
관계기반 알고리즘의 설계 (0) | 2020.08.04 |
백준 1722 : 순열의 순서 (0) | 2020.07.30 |
백준 8979 : 올림픽 (0) | 2020.07.23 |
백준 1764 : 듣보잡 (0) | 2020.07.22 |