728x90
1783번: 병든 나이트
첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제 풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
StringTokenizer st = new StringTokenizer( br.readLine() );
int n = Integer.parseInt( st.nextToken() ),
m = Integer.parseInt( st.nextToken() );
br.close();
int c = 0;
if( n == 1 )
c = 1;
else if( n == 2 )
c = Math.min( 4, (m+1) / 2 );
else {
if( m <= 4 )
c = m;
else if( m <= 6 )
c = 4;
else
c = m - 2;
}
System.out.println( c );
}
}
* 그리디
- 세로 길이 : n, 가로 길이 : m
- n = 1 ☞ m 상관없이 이동 불가능 ▶ c = 1
- n = 2 ☞ 조건2, 3만 이동 가능 ▶ c = Math.min( 4, (m+1)/2 )
( 이동 횟수가 4이하여야 함. 이동 횟수가 4번보다 많으면 이동 방법을 모두 한 번씩 사용해야하기 때문 )
- n >= 3 ☞ 조건 1, 2, 3, 4 모두 이동 가능
- m <= 4 ▶ c = m
- m <= 6 ▶ c = 4
- m > 6 ▶ c = m-2
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 백준 온라인 저지 ( BOJ )' 카테고리의 다른 글
[백준(Baekjoon)][자바(java)] 2875 : 대회 or 인턴 / 그리디 (0) | 2021.02.08 |
---|---|
[백준(Baekjoon)][자바(java)] 2873 : 롤러코스터 / 그리디 (0) | 2021.02.07 |
[백준(Baekjoon)][자바(java)] 1744 : 수 묶기 / 그리디 (0) | 2021.02.07 |
[백준(Baekjoon)][자바(java)] 2096 : 내려가기 / 동적계획법 (0) | 2021.02.07 |
[백준(Baekjoon)][자바(java)] 1699 : 제곱수의 합 / 동적계획법 (0) | 2021.02.05 |