반응형
-문제
-코드
#include<stdio.h>
#include<vector>
using namespace std;
vector<int> computer[10001];
vector<int> ch;
int hacking;
void DFS(int c)
{
for (int i = 0; i < computer[c].size(); i++)
{
int next = computer[c][i];
if (ch[next] == 0)
{
ch[next] = 1;
hacking += 1;
DFS(next);
}
}
}
int main()
{
int n, m, v1, v2, max =0 ;
scanf("%d %d", &n,&m);
vector<int> hackingCntList(n + 1);
for (int i = 0; i < m; i++)
{
scanf("%d %d",&v1, &v2);
computer[v2].push_back(v1);
}
for (int i = 1; i <= n; i++)
{
ch = vector<int>(n + 1, 0);
ch[i] = 1;
hacking = 1;
DFS(i);
hackingCntList[i] = hacking;
if (max < hacking) max = hacking;
}
for (int i = 1; i <= n; i++)
{
if (hackingCntList[i] == max) printf("%d ", i);
}
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] level2 피보나치 수 (시간초과 해결) (0) | 2022.08.29 |
---|---|
[프로그래머스] level2 구명보트 (그리디 + 투포인터) (0) | 2022.08.29 |
[백준] 3184번 양 (BFS) (0) | 2022.08.26 |
[백준] 1388번 바닥 장식 (BFS) (0) | 2022.08.26 |
[백준] 2110번 공유기 설치 (이분 탐색) (0) | 2022.08.25 |