• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

9_6 친구인가(서로소문제)

23.03.15 20:44 작성 조회수 247

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