From fc2f5d1bf3f5697ed318fc6f16355ea751fd1b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=95=98=EB=8F=99=EC=A4=80?= <77885587+djh0211@users.noreply.github.com> Date: Fri, 5 Apr 2024 08:40:40 +0900 Subject: [PATCH 1/4] =?UTF-8?q?Create=2024040boj=5F17141=5F=EC=97=B0?= =?UTF-8?q?=EA=B5=AC=EC=86=8C2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...141_\354\227\260\352\265\254\354\206\2142" | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 "\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" diff --git "a/\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" "b/\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" new file mode 100644 index 0000000..3cd221d --- /dev/null +++ "b/\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" @@ -0,0 +1,109 @@ +import java.util.*; +import java.io.*; + +public class Main { + //연구소 위치 관련 클래스 + static class position{ + int x, y; + public position(int x, int y) { + this.x = x; + this.y = y; + } + } + static int N,M, answer = Integer.MAX_VALUE; + static int[][] laboratory; //연구실 정보 저장 배열 + static position[] route; //M개 선택된 바이러스 위치 저장 배열 + static int[] dx = {0, 0, -1, 1}; //상하좌우 x 변경값 + static int[] dy = {-1, 1, 0, 0}; //상하좌우 y 변경값 + static ArrayList virus = new ArrayList<>(); //바이러스 위치 저장 리스트 + public static void main(String[] args) throws IOException { + //입력값 처리하는 BufferedReader + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + //결과값 출력하는 BufferedWriter + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + StringTokenizer st = new StringTokenizer(br.readLine()," "); + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + laboratory = new int[N][N]; + //1. 입력되는 연구소의 정보에서 바이러스의 위치를 저장합니다. + for(int i=0;i queue = new LinkedList<>(); + boolean[][] visited = new boolean[N][N]; + int result = 0; + for(int i=0;i= answer) + return; + int size = queue.size(); + for(int i=0;i=0 && y>=0 && x Date: Fri, 5 Apr 2024 08:41:30 +0900 Subject: [PATCH 2/4] =?UTF-8?q?Rename=20=ED=95=98=EB=8F=99=EC=A4=80/24040b?= =?UTF-8?q?oj=5F17141=5F=EC=97=B0=EA=B5=AC=EC=86=8C2=20to=20=ED=95=98?= =?UTF-8?q?=EB=8F=99=EC=A4=80/240405/boj=5F17141=5F=EC=97=B0=EA=B5=AC?= =?UTF-8?q?=EC=86=8C2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../240405/boj_17141_\354\227\260\352\265\254\354\206\2142" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" => "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" (100%) diff --git "a/\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" "b/\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" similarity index 100% rename from "\355\225\230\353\217\231\354\244\200/24040boj_17141_\354\227\260\352\265\254\354\206\2142" rename to "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" From 6fdc99684ea3ca783f7453b84ee0b8dd6df97f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=95=98=EB=8F=99=EC=A4=80?= <77885587+djh0211@users.noreply.github.com> Date: Fri, 5 Apr 2024 08:41:49 +0900 Subject: [PATCH 3/4] =?UTF-8?q?Rename=20boj=5F17141=5F=EC=97=B0=EA=B5=AC?= =?UTF-8?q?=EC=86=8C2=20to=20boj=5F17141=5F=EC=97=B0=EA=B5=AC=EC=86=8C2.ja?= =?UTF-8?q?va?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../240405/boj_17141_\354\227\260\352\265\254\354\206\2142.java" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" => "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142.java" (100%) diff --git "a/\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" "b/\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142.java" similarity index 100% rename from "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142" rename to "\355\225\230\353\217\231\354\244\200/240405/boj_17141_\354\227\260\352\265\254\354\206\2142.java" From ff079d8fc7cb6e935bebbc76ab2928816da8c333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=95=98=EB=8F=99=EC=A4=80?= <77885587+djh0211@users.noreply.github.com> Date: Fri, 5 Apr 2024 08:43:28 +0900 Subject: [PATCH 4/4] =?UTF-8?q?Create=20boj=5F6209=5F=EC=A0=9C=EC=B0=A8?= =?UTF-8?q?=EB=A6=AC=EB=A9=80=EB=A6=AC=EB=9B=B0=EA=B8=B0.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\353\246\254\353\233\260\352\270\260.java" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "\355\225\230\353\217\231\354\244\200/240405/boj_6209_\354\240\234\354\260\250\353\246\254\353\251\200\353\246\254\353\233\260\352\270\260.java" diff --git "a/\355\225\230\353\217\231\354\244\200/240405/boj_6209_\354\240\234\354\260\250\353\246\254\353\251\200\353\246\254\353\233\260\352\270\260.java" "b/\355\225\230\353\217\231\354\244\200/240405/boj_6209_\354\240\234\354\260\250\353\246\254\353\251\200\353\246\254\353\233\260\352\270\260.java" new file mode 100644 index 0000000..1fa1092 --- /dev/null +++ "b/\355\225\230\353\217\231\354\244\200/240405/boj_6209_\354\240\234\354\260\250\353\246\254\353\251\200\353\246\254\353\233\260\352\270\260.java" @@ -0,0 +1,53 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.StringTokenizer; + +public class Main { + static int d,n,m; + static List array; + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + d = Integer.parseInt(st.nextToken()); + n = Integer.parseInt(st.nextToken()); + m = Integer.parseInt(st.nextToken()); + + array = new ArrayList<>(); + for (int i = 0; i < n; i++) { + array.add(Integer.parseInt(br.readLine())); + } + array.add(0); + array.add(d); + Collections.sort(array); + + int left = 0; + int right = d; + int result = 0; + + while (left<=right) { + int mid = (left+right)/2; + int now = 0; + int sum = 0; + for (int i = 1; i < array.size(); i++) { + if (array.get(i) - array.get(now) < mid) { + // 생각한거보다 짧음. 얘는 없애도 돼 + sum++; + } + else now=i; + } + if (sum > m) { + // 너무 없앰. 조금 줄여 + right = mid - 1; + } else { + result = mid; + left = mid + 1; + } + } + + System.out.println(result); + } + +}