알고리즘 문제 해결(PS)/[백준]
[백준] 11265번 끝나지 않는 파티 (자바 풀이)
연구소장 J
2022. 3. 30. 13:47
문제
https://www.acmicpc.net/problem/11265
풀이
플로이드-와샬 알고리즘을 사용하면 아주 간단하게 해결 가능하다. 단순한 문제이므로 코드를 참고하자.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Baekoon_11265 { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); int dist[][] = new int[N+1][N+1]; for(int i=0; i<N; i++) { st = new StringTokenizer(br.readLine()); for(int j=0; j<N; j++) { dist[i][j] = Integer.parseInt(st.nextToken()); } } for(int k=0; k<N; k++) { for(int i=0; i<N; i++) { for(int j=0; j<N; j++) { dist[i][j] = Math.min(dist[i][j], dist[i][k]+dist[k][j]); } } } StringBuilder sb = new StringBuilder(); for(int i=0; i<M; i++) { st = new StringTokenizer(br.readLine()); int A = Integer.parseInt(st.nextToken()); int B = Integer.parseInt(st.nextToken()); int C = Integer.parseInt(st.nextToken()); if(dist[A-1][B-1] <= C) { sb.append("Enjoy other party\n"); }else { sb.append("Stay here\n"); } } System.out.println(sb.toString()); } } | cs |
반응형