삐까냥의 파도타기

2814. 최장 경로 본문

코딩/SW Expert Academy

2814. 최장 경로

금손형아 2018. 3. 27. 11:44

문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GOPPaAeMDFAXB


for문 돌릴때 j를 i로 써서 문제를 발견하기 까지 좀 오래 걸렸네요;


2018년 3월 27일


import java.util.Scanner;


public class Q2814 {


static boolean[] isVisit;

static boolean[][] graph;

static int N, result;


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int testCase = sc.nextInt();


for (int i = 1; i <= testCase; i++) {

result = 0;


N = sc.nextInt();

int M = sc.nextInt();


isVisit = new boolean[N+1];

graph = new boolean[N+1][N+1];


for (int j = 1; j <= M; j++) {

int first = sc.nextInt();

int second = sc.nextInt();


graph[first][second] = true;

graph[second][first] = true;

}


for (int j = 1; j <= N; j++) {

solution(j, 1);

}


System.out.println("#" + i + " " + result);

}

}


static void solution(int nowPosition, int tempResult) {

if (result < tempResult) {

result = tempResult;

}


isVisit[nowPosition] = true;


for (int i = 1; i <= N; i++) {

if (!isVisit[i] && graph[nowPosition][i]) {

solution(i, tempResult+1);

}

}

isVisit[nowPosition] = false;

}


'코딩 > SW Expert Academy' 카테고리의 다른 글

2948. 문자열 교집합  (0) 2018.03.27
3975. 승률 비교하기  (0) 2018.03.27
3408. 세가지 합 구하기  (0) 2018.03.15
3260. 두 수의 덧셈  (0) 2018.03.15
3376. 파도반 수열  (0) 2018.03.15