πSWEA_SW_2117
π [SW_2117] ν λ°©λ² μμ€ν
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Solution {
static int N, M;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int tc = Integer.parseInt(br.readLine());
for (int TC = 1; TC <= tc; TC++) {
sb.append("#").append(TC).append(" ");
st = new StringTokenizer(br.readLine(), " ");
// mapμ ν¬κΈ°
N = Integer.parseInt(st.nextToken());
// μ§μ μ§λΆλΉμ©
M = Integer.parseInt(st.nextToken());
ArrayList<Integer> HX = new ArrayList<>();
ArrayList<Integer> HY = new ArrayList<>();
// μ§ μ
λ ₯
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
for (int j = 0; j < N; j++) {
int temp = Integer.parseInt(st.nextToken());
// μ§μΈ κ²½μ° μ’ν μ μ₯
if (temp == 1) {
HX.add(i);
HY.add(j);
}
}
}
// mapμμ μλ μ§ κ°μ
int H = HX.size();
// μ΅λ μ§μ
int max = 0;
// μ€μ¬κ°λ©΄μ ꡬνκΈ°
for (int k = (int) Math.sqrt(N * N) + 1; k > 0; k--) {
int cost = k*k + (k-1)*(k-1);
for(int X=0; X<N; X++) {
for(int Y=0; Y<N; Y++) {
// ν¬ν¨λλ μ§μ
int cnt = 0;
// 거리μμ μνλ©΄ μ§ κ°μ ++
for(int i=0; i<H; i++) {
if(Math.abs(HX.get(i)-X) + Math.abs(HY.get(i) - Y)<k) {
cnt++;
}
}
// 쑰건 μΆ©μ‘± νλ€λ©΄ μ΅λμ§ κ°μ κ°±μ
if(cnt*M >= cost) {
max = Math.max(max, cnt);
}
}
}
}
sb.append(max).append("\n");
}
System.out.println(sb);
}
}
π€ λμ μκ°
λ¬Έμ νκΈ°μ κ³νμ μΈμ보μλ€.. μ’ μ λ¦¬κ° μλμ΄μμ§λ§ μ΄μμλ νκΈ°λ₯Ό κΈ°λ‘νκΈ° μν΄ λ°λ‘ μ 리λ νμ§ μμλ€..
λ¬Έμ λ₯Ό λ€ νκ³ λ³΄λ©΄ κ³νμΈμ΄ κ²μ΄ κ·Έλ κ² νλ¦¬μ§ μμλ κ² κ°λ€.
κ·Όλ° μμ¬μ΄κ² μ²μ κ³νμ΄ μνμ νλ©΄μ kλ₯Ό μ μ°Ύλ κ²μΈλ°.. μκΎΈ 49μμ failμ΄ λ μ κ²°κ΅μ μ€ν¨νλ€..
μ΄λ‘ μ μΈ κ΅¬μ‘°μ μΈ λ°©λ²μ μ무λλ λ§λ κ² κ°μλ° μ΄λμ μλͺ»λ κ² κ°λ€.. λκ° kλ₯Ό νμνλλ° λ무 λ§μ μκ°μ μμνλ κ²μ΄ λ¬Έμ μΈ κ² κ°λ€..
κ·Έλμ λ€λ₯Έ μ¬λλ€μ νμ΄λ₯Ό 보λ€κ° κ±°λ¦¬λ‘ κ΅¬νλ κ²μ λ³΄κ³ λ¨Έλ¦¬λ₯Ό νλ λ§μ λ― νλ€..
μννλ κ²μ κ°μ§λ§ κ΅³μ΄ λ€ λλ©΄μ νμΈν νμμμ΄ κ±°λ¦¬λ₯Ό ꡬν΄μ κ±°λ¦¬κ° kλ³΄λ€ μμΌλ©΄ μ§μ κ°μλ₯Ό ꡬν΄μ£Όλ κ²μ΄λ€.
μ½λλ ν¨μ¬ κ°λ΅νκ³ κ°λ
μ±λ μ’μλ€.
μ 거리λ₯Ό μκ°νμ§ λͺ»νμκΉ..γ
μ΄ λ¬Έμ λ₯Ό ν΅ν΄ λ€μμ λ€λ₯Έ λ¬Έμ λ₯Ό λ§λλ€λ©΄ 거리 μκ°μ μΆ©λΆν ν μ μμ κ² κ°λ€ !