https://www.acmicpc.net/problem/9372
9372번: 상근이의 여행
첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가
www.acmicpc.net
해석 및 팁
이 문제는 이해만 하면 아주 쉬운 문제입니다. 가장 중요한 것은 문제에서 원하는 값은 모든 국가를 여행하기 위해 필요한 최소 비행기 종류의 개수라는 점입니다. 예를 들어 3개의 국가를 여행한다고 하면 최소의 경로는 1 -> 2 -> 3 이므로 2개가 필요합니다. 5개라고 하면 1 -> 2 -> 3 -> 4 -> 5 이므로 4개가 필요합니다. 따라서 (국가의개수-1)를 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr = new int[n+1][n+1];
for(int j = 0; j < m; j++) {
int a = sc.nextInt();
int b = sc.nextInt();
arr[a][b] = 1;
arr[b][a] = 1;
}
sb.append(n-1).append("\n");
}
System.out.println(sb);
}
}
'백준' 카테고리의 다른 글
백준 1244 스위치 켜고 끄기(Java) (0) | 2023.01.28 |
---|---|
백준 1543 문서 검색(Java) (0) | 2023.01.28 |
백준 11652 카드(Java) (0) | 2023.01.28 |
백준 1302 베스트셀러(Java) (1) | 2023.01.28 |
백준 17219 비밀번호 찾기(Java) (0) | 2023.01.27 |