반응형
    
    
    
  -문제

-코드
#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 | 
 
                    
                   
                    
                   
                    
                  