From 1c010664382ef2dbed43b4890ba1d658b345d65d Mon Sep 17 00:00:00 2001 From: sh0723 Date: Wed, 3 Jun 2026 18:32:08 +0900 Subject: [PATCH] =?UTF-8?q?1325=20:=20=ED=9A=A8=EC=9C=A8=EC=A0=81=EC=9D=B8?= =?UTF-8?q?=20=ED=95=B4=ED=82=B9=20solve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/week2/BOJ1325/BOJ1325_V1.cpp | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/week2/BOJ1325/BOJ1325_V1.cpp 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