Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CSS Flex
- dp문제
- 포인터
- aspect-ratio
- 백준문제풀이 #백준 #백준문제 #스타트택시
- 프로젝트초기설정
- ESP8266
- 백준풀이
- 백준15988풀이
- 2193
- @supports
- 리액트네이티브
- CSS
- 아두이노 우노
- 연결리스트
- reactNative
- scss
- ESP-01WiFi
- scroll-snap
- 백준자바
- 백준 #백준2661 #좋은수열 #Java #코딩
- 백준java
- 이친수문제
- 백준
- Flexible box
- peap
- C
- ESP8266WiFi
- 노마드코더
- ESP-01
Archives
- Today
- Total
코딩 농장
[백준 11403번/JAVA] 경로 찾기 (문제 풀이, 코드) 본문
728x90
경로 찾기
[문제]
가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오.
[풀이]
모든 정점에 대한 경로를 구할때 사용하는 알고리즘은 플로이드-와샬 알고리즘이다.
그냥 0번 정점부터 끝까지 반복문 3개를 돌리게 되는데, 내가 제일먼저 잡은 점이 거치는 정점(k), 두번째가 시작 정점(i), 세번째가 도착 정점(j)이다.
i->k->j가 i->j보다 빠르면 i->k->j로 상태를 업데이트 하면 된다.
[코드]
package p;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
// 플로이드-와샬
public class findRoute_11403 {
public static void main(String args[]) throws IOException{
/* input 받기 */
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
int adj[][] = new int[N][N];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine()," ");
for(int j=0; j<N; j++)
adj[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++) {
if(adj[i][j] == 1) continue;
else if (adj[i][k] == 1 && adj[k][j] == 1) adj[i][j] = 1;
}
}
}
/* output */
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++)
System.out.print(adj[i][j]+" ");
System.out.println();
}
}
}
[]
내용
GitHub에 티스토리에 올리지 않은 코드들도 업로드 되어 있습니다.
'백준' 카테고리의 다른 글
[백준 10472번/JAVA] 십자뒤집기 (문제 풀이, 코드) (0) | 2021.07.27 |
---|---|
[백준 9019번/JAVA] DSLR (문제 풀이, 코드) (0) | 2021.07.16 |
[백준 16928번/JAVA] 뱀과 사다리 게임 (문제 풀이, 코드) (0) | 2021.07.16 |
[백준 6588번/JAVA] 골드바흐의 추측 (문제 풀이, 코드) (0) | 2021.07.11 |
[백준 7562번/JAVA] 나이트의 이동 (문제 풀이, 코드) (0) | 2021.07.09 |
Comments