#include <stdio.h> #include <iostream> #include <queue> #include <algorithm> #include <vector> #include <string.h> using namespace std; int N, M; vector<int> v[10010]; vector<int> result; int visited[10010]; int Max; int cnt; void DFS(int first, int start) { if(Max < cnt) { Max = cnt; result.clear(); result.push_back(first); } else if(Max == cnt) { result.push_back(first); } for(int i = 0; i < v[start].size(); i++) { if(visited[v[start][i]] == 0) { visited[v[start][i]] = 1; cnt++; DFS(first, v[start][i]); } } } int main(void) { // freopen("B1325_input.txt", "r", stdin); cin >> N >> M; for(int i = 1; i <= M; i++) { int from, to; cin >> from >> to; v[to].push_back(from); } for(int i = 1; i <= N; i++) { memset(visited, 0, sizeof(visited)); cnt = 1; visited[i] = 1; DFS(i, i); } sort(result.begin(), result.end()); for(int i = 0; i < result.size(); i++) { cout << result[i] << " "; } return 0; } | cs |
'Baekjoon > DFS' 카테고리의 다른 글
[백준 17779] 게리맨더링2 (DFS) (C/C+) (★) (0) | 2021.01.17 |
---|---|
[백준 1068] 트리 (DFS, Tree) (C/C++) (★) (0) | 2020.02.16 |
[백준 9466] 텀 프로젝트 (DFS) (C/C++) (★★★) (0) | 2020.01.26 |
[백준 2667] 단지번호 붙이기 (DFS) (C/C++) (0) | 2020.01.26 |
[백준 10451] 순열 사이클 (DFS) (C/C++) (0) | 2020.01.26 |