Skip to content

Commit 6ff729b

Browse files
committed
[Simulation] baekjoon-17779
1 parent 687e112 commit 6ff729b

File tree

4 files changed

+104
-0
lines changed

4 files changed

+104
-0
lines changed

โ€ŽREADME.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
| 22 | | [Baekjoon-2636 ์น˜์ฆˆ](./src/Simulation/P2636) | |
6262
| 23 | | [Baekjoon-15683 ๊ฐ์‹œ](./src/Simulation/P15683) | |
6363
| 24 | | [SWEA-4014 ํ™œ์ฃผ๋กœ ๊ฑด์„ค](./src/Simulation/swea4014) | ์‚ผ์„ฑ SW ์—ญ๋Ÿ‰ ํ…Œ์ŠคํŠธ ๊ธฐ์ถœ |
64+
| 25 | | [Baekjoon-17779 ๊ฒŒ๋ฆฌ๋งจ๋”๋ง 2](./src/Simulation/P17779) | |
6465

6566
## String
6667

โ€Žsrc/Simulation/P17779/Main.java

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package Simulation.P17779;
2+
3+
import java.io.BufferedReader;
4+
import java.io.FileInputStream;
5+
import java.io.InputStreamReader;
6+
import java.util.StringTokenizer;
7+
8+
public class Main {
9+
10+
static int N, ans = Integer.MAX_VALUE;
11+
static int[][] A;
12+
13+
public static void main(String[] args) throws Exception {
14+
System.setIn(new FileInputStream("src/Simulation/P17779/input.txt"));
15+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
16+
17+
N = Integer.parseInt(br.readLine());
18+
A = new int[N+1][N+1];
19+
for (int i = 1; i <= N; i++) {
20+
StringTokenizer st = new StringTokenizer(br.readLine());
21+
for (int j = 1; j <= N; j++) {
22+
A[i][j] = Integer.parseInt(st.nextToken());
23+
}
24+
}
25+
26+
for (int d1 = 1; d1 <= N; d1++) {
27+
for (int d2 = 1; d2 <= N; d2++) {
28+
for (int x = 1; x <= N; x++) {
29+
for (int y = 1; y <= N; y++) {
30+
if (x+d1+d2 <= N && 1 <= y-d1 && y+d2 <= N) {
31+
solve(x, y, d1, d2);
32+
}
33+
}
34+
}
35+
}
36+
}
37+
38+
System.out.println(ans);
39+
}
40+
41+
static void solve(int x, int y, int d1, int d2) {
42+
int[] p = new int[6];
43+
int[][] check = new int[N+1][N+1];
44+
45+
for (int i = 1; i < x+d1; i++) {
46+
int j = 1, k = i < x ? y : y-(i-x)-1;
47+
for (; j <= k && j <= y; j++) check[i][j] = 1;
48+
for (; j <= y; j++) check[i][j] = 5;
49+
}
50+
for (int i = 1; i <= x+d2; i++) {
51+
int j = y+1, k = i <= x ? y : y+(i-x);
52+
for (; j <= k && j <= N; j++) check[i][j] = 5;
53+
for (; j <= N; j++) check[i][j] = 2;
54+
}
55+
for (int i = x+d1, k = y-d1-1; i <= N; i++, k++) {
56+
int j = 1;
57+
for (; j <= k && j < y-d1+d2; j++) check[i][j] = 3;
58+
for (; j < y-d1+d2; j++) {
59+
if (check[i][j] > 0) continue;
60+
check[i][j] = 5;
61+
}
62+
}
63+
for (int i = x+d2+1, k = y+d2-1; i <= N; i++, k--) {
64+
int j = y-d1+d2;
65+
for (; j <= k && j <= N; j++) {
66+
if (check[i][j] > 0) continue;
67+
check[i][j] = 5;
68+
}
69+
for (; j <= N; j++) check[i][j] = 4;
70+
}
71+
72+
for (int i = 1; i <= N; i++) {
73+
for (int j = 1; j <= N; j++) {
74+
if (check[i][j] == 0) p[5] += A[i][j];
75+
else p[check[i][j]] += A[i][j];
76+
}
77+
}
78+
79+
int min = p[1], max = p[1];
80+
for (int i = 2; i <= 5; i++) {
81+
min = Math.min(min, p[i]);
82+
max = Math.max(max, p[i]);
83+
}
84+
ans = Math.min(ans, max - min);
85+
}
86+
}

โ€Žsrc/Simulation/P17779/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## [baekjoon-17779] ๊ฒŒ๋ฆฌ๋งจ๋”๋ง 2
2+
3+
![image](https://user-images.githubusercontent.com/22045163/114568901-80db5600-9caf-11eb-9398-7af27367ede4.png)
4+
![image](https://user-images.githubusercontent.com/22045163/114568979-918bcc00-9caf-11eb-8196-13a2b30c5eed.png)
5+
6+
![image](https://user-images.githubusercontent.com/22045163/114569021-994b7080-9caf-11eb-9a7f-1b328c08f3a3.png)
7+
8+
๋ณ„๋กœ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

โ€Žsrc/Simulation/P17779/input.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
8
2+
1 2 3 4 5 6 7 8
3+
2 3 4 5 6 7 8 9
4+
3 4 5 6 7 8 9 1
5+
4 5 6 7 8 9 1 2
6+
5 6 7 8 9 1 2 3
7+
6 7 8 9 1 2 3 4
8+
7 8 9 1 2 3 4 5
9+
8 9 1 2 3 4 5 6

0 commit comments

Comments
ย (0)