diff --git a/src/week2/BOJ1325/BOJ1325_V1.cpp b/src/week2/BOJ1325/BOJ1325_V1.cpp new file mode 100644 index 0000000..770fb0e --- /dev/null +++ b/src/week2/BOJ1325/BOJ1325_V1.cpp @@ -0,0 +1,50 @@ +#include +using namespace std; +int visited[10000]; +vector> relation; +int N,M; +int max_cnt = -1; +vector ret; + +int dfs(int here) { + visited[here] = 1; + int ret = 1; + + for (int i : relation[here]) { + if (visited[i]) continue; + ret += dfs(i); + } + + return ret; +} + +int main() { + + cin >> N >> M; + relation = vector>(N+1); + + for (int i = 0; i < M; i++) { + int A,B; + cin >> A >> B; + relation[B].push_back(A); + } + + for (int i = 1; i <= N; i++) { + fill(visited, visited + N + 1, 0); + int cnt = dfs(i); + if (cnt > max_cnt) { + ret.clear(); + max_cnt = cnt; + ret.push_back(i); + } else if (cnt == max_cnt) { + ret.push_back(i); + } + } + + for (int i : ret) { + cout << i << " "; + } + + + return 0; +} \ No newline at end of file