728x90
3182 한동이는 공부가 하기 싫어!
#include <bits/stdc++.h>
using namespace std;
vector<int> adj(1001);
int visited[1001];
int ans;
void dfs(int x)
{
visited[x] = 1;
if (!visited[adj[x]])
{
dfs(adj[x]);
}
}
int main()
{
int test_case, max = 0, check, ans;
cin >> test_case;
for (int i = 1; i <= test_case; ++i)
{
int tmp;
cin >> tmp;
adj[i] = tmp;
}
for (int i = 1; i <= test_case; ++i)
{
memset(visited, 0, sizeof(visited));
check = 0;
dfs(i);
for (int j = 1; j <= test_case; ++j)
{
if (visited[j])
++check;
}
if (check > max)
{
max = check;
ans = i;
}
}
cout << ans;
}
- DFS 문제
- MAX와 CHECK를 이용해서 비교해 풀어주었다.
728x90
'Study > Baekjoon' 카테고리의 다른 글
[백준/C++] 15886 내 선물을 받아줘 2 (0) | 2024.03.04 |
---|---|
[백준/C++] 10451 순열 사이클 (0) | 2024.03.03 |
[백준/C++] 1012 유기농 배추 (0) | 2024.03.01 |
[백준/C++] 1260 DFS와 BFS (0) | 2024.02.29 |
[백준/C++] 1620 나는야 포켓몬 마스터 이다솜 (0) | 2024.02.28 |