Ex)
<hide/>
import java.util.Scanner;
public class DegreeOfKinship {
/*
입력코드
9
7 3
7
1 2
1 3
2 7
2 8
2 9
4 5
4 6
출력
3
*/
static int MAX_COUNT = 101;
static int VCnt;
static int StartVertax;
static int TargetVertax;
static int flag;
static int[][] AdjMatrix = new int[MAX_COUNT][MAX_COUNT];
static int[] VisitMarix = new int[MAX_COUNT];
static int ECnt, uCnt = 0;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int uV1, uV2;
VCnt = scan.nextInt(); // 사람 수
uV1 = scan.nextInt();
uV2 = scan.nextInt();
ECnt = scan.nextInt(); // 관계 수
StartVertax = uV1 <= uV2 ? uV2 : uV1; // 큰값에서 시작
TargetVertax = uV1 <= uV2 ? uV1 : uV2; //??
for(int i = 1; i <= ECnt; ++i) {
int x = scan.nextInt();
int y = scan.nextInt();
AdjMatrix[x][y] = 1;
AdjMatrix[y][x] = 1;
}
DFSmethod(StartVertax);
if(0 == flag ) {
System.out.println(-1);
}
}
public static void DFSmethod(int _CurrVertax) {
VisitMarix[_CurrVertax]= 1;
for(int i = 1; i <= VCnt; ++i){
if(TargetVertax == _CurrVertax) {
flag = 1;
System.out.println(uCnt);
return;
}
if(1 ==AdjMatrix[_CurrVertax][i] && 0 == VisitMarix[i] ) {
++uCnt;
System.out.printf( "[%d]: %d => %d\n", uCnt, _CurrVertax, i );
DFSmethod(i);
}
}
}
}
Note) 에러 수정하기..
target
'자료구조와 알고리듬 With Java > [Study] BAEKJOON 프로그래머스 CodeUp LeetCode' 카테고리의 다른 글
Code up 4714 BAEKJOON 2458 키 순서 (0) | 2022.04.24 |
---|---|
Code up 2605 캔디팡 (0) | 2022.04.22 |
친구 찾기 (0) | 2022.04.22 |
Codeup 4421 BaekJoon 2667 단지번호 붙이기 (0) | 2022.04.22 |
Code up 4024 호수의 수 구하기 (0) | 2022.04.21 |