작성
·
341
0
안녕하세요 교수님, 질문이있어서 글 남깁니다.
교수님과 살짝 다른풀이로 풀었는데, 채점하는 사이트에서 계속 첫번째 케이스에서 runtime error가 나서요ㅠㅠ
다른 테스트케이스들은 잘돌아가는데 첫번째만 안돌아갑니다ㅜㅜ
자바 이클립스에서도 문제없이 예제테스트케이스 (첫번째 테스트케이스) 돌아갑니다....
// 서로소 집합 (유니온파인드)
import java.util.*;
class Main {
static int n,m=0; //n:학생수, m:순서쌍개수
static int[] parent;
public static int find(int x) {
if(x==parent[x]) return x;
else
return parent[x]=find(parent[x]); //최상위 부모 누구인지
}
public static void main(String[] args) {
Main tree=new Main();
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
m=scanner.nextInt();
parent=new int[n+1];
//배열 초기화 해야됨 - 자기자신이 부모가 되도록 초기화
for(int i=1; i<=n; i++) {
parent[i]=i;
}
//입력받아서 배열만들기
for(int i=1; i<=m; i++) {
int par=scanner.nextInt();
int son=scanner.nextInt();
parent[son]=par;
}
int a=scanner.nextInt();
int b=scanner.nextInt();
if( (tree.find(a)) != (tree.find(b)) )
{ System.out.print("NO"); }
else System.out.print("YES");
}
}
답변 1
0
안녕하세요^^
1번 케이스입니다. 디버그해보세요.
20 22
18 9
4 15
12 16
9 10
10 7
14 9
13 3
17 5
6 1
1 14
12 4
9 11
7 5
17 4
6 17
12 9
18 10
17 8
11 18
7 19
4 3
3 4
10 15