https://www.acmicpc.net/problem/1325
1325번: 효율적인 해킹
첫째 줄에, N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에 신뢰하는 관계가 A B와 같은 형식으로 들어오며, "A가 B를 신뢰한
www.acmicpc.net
Java 코드
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
static int n;
static int m;
static int[] arr;
static boolean[] visit;
static ArrayList<ArrayList<Integer>> list = new ArrayList<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int max = -1;
n = sc.nextInt();
m = sc.nextInt();
arr = new int[n + 1];
for(int i = 0; i <= n; i++) list.add(new ArrayList<>());
for(int i = 0; i < m; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
list.get(a).add(b);
}
for(int i = 1; i <= n; i++) {
visit = new boolean[n + 1];
dfs(i);
}
for(int i = 1; i <= n; i++) max = Math.max(max, arr[i]);
for(int i = 1; i <= n; i++) {
if(arr[i] == max) sb.append(i+" ");
}
System.out.println(sb);
}
public static void dfs(int num) {
visit[num] = true;
for(int i : list.get(num)) {
if(visit[i] == false) {
arr[i]++;
dfs(i);
}
}
}
}
'백준' 카테고리의 다른 글
백준 16435 스네이크버드(Java) (0) | 2023.02.19 |
---|---|
백준 12852 1로 만들기 2(Java) (0) | 2023.02.19 |
백준 1926 그림(Java) (0) | 2023.02.19 |
백준 2529 부등호(Java) (0) | 2023.02.19 |
백준 2504 괄호의 값(Java) (0) | 2023.02.19 |