ALGORITHM
백준 10775 공항 (Java)
공부하는_다온
2023. 4. 16. 23:41
1. 문제 링크
10775번: 공항
예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불
www.acmicpc.net
2. 문제 및 입출력예제
3. 문제 풀이
- 서로소 집합을 이용했다.
- 입력 받고 그 게이트를 기준으로 도킹할 위치를 찾고 그 위치가 0이 되면 더이상 도킹할 수 없는 상태이다.
- 도킹할 위치를 찾으면 해당 위치와 그 앞을 도킹(합)한다.
4. 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int result = 0;
int G = Integer.parseInt(br.readLine());
int P = Integer.parseInt(br.readLine());
int[] gate = new int[G+1];
int now = 0;
out:
for(int i=0;i<P;i++) {
now = Integer.parseInt(br.readLine());
for(int j=now;j>0;j--) {
gate[j]++;
System.out.println(j+ " "+gate[j]);
if(gate[j]>j) {
break out;
}
}
result++;
}
System.out.println(result);
}
}