백준 20057 - 병든 나이트
Updated:
Java
1783 번 - 병든 나이트
문제
접근 방법
병든 나이트는 x축 기준 뒤로 갈 수 없다.
따라서, y축은 최소 3칸 이상 커져야 하므로
y축의 크기가 1일때 2일때 로 분기 처리를 한다.
문제 조건 상, 나이트의 4가지 방향을 전부 다 이동 하려면 x축으로 7칸 이상 커야 한다.
다라서 x가 6이하일 때, 이상일때로 분기 처리한다.
코드
import java.util.*;
import java.io.*;
public class Main {
static int n, m, result;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk = new StringTokenizer(br.readLine());
n = stoi(stk.nextToken());
m = stoi(stk.nextToken());
// y가 1일때
if(n == 1) {
result = 1;
}
// y가 2일때
else if(n == 2) {
result = m / 2;
if(m % 2 == 1)
result++;
if(result >= 4)
result = 4;
}
// y가 3이상일 때
else {
// x가 7 이하 일 때
if(m <= 6) {
result = m;
if(result >= 4)
result = 4;
}
// 그 외
else {
result = m - 2;
}
}
System.out.println(result);
br.close();
}
static int stoi(String str) {
return Integer.parseInt(str);
}
}