# 유형 : 시뮬레이션, 점화식

# 난이도 : 실버 1

# 탐색으로도 분류되어 있어서 가볍게 탐색으로 짜봤는데 시간초과가 나서 그냥 점화식을 세워서 해결했다. 아래와 같이 점화식을 세워 해결해가면 된다. 주의해야할 점은 값이 Integer형을 넘는 범위를 갖는 답도 있기 때문에 long 타입형으로 출력해야 틀리지 않는다.

1) 만약 첫 번째 손가락인 경우 => 사용 횟수 * 8

0 0
1 8
2 16
3 24
4 32
5 40
6 48

2) 두 번째 손가락인 경우 => 두 번째 손가락은 기본적으로 첫 번째 손가락을 포함하기 때문에 식에 기본적으로 1씩 더해준다. 짝수 일때마다 8을 더해주는 것을 확인할 수 있고, 홀수의 경우에는 8씩 추가가 된다. => 1 + (사용횟수/2) * 8 + (사용횟수%2) * 6

0 1
1 7
2 9
3 15
4 17
5 23
6 25

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package bj;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class p1614 {
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        long hurt = Long.parseLong(br.readLine());
        long num = Long.parseLong(br.readLine());
        long result;
        if(hurt == 1) {
            result = (long)(num*8);
        }else if(hurt == 2) {
            result = (long)(1+(num/2)*8+(num%2)*6);
        }else if(hurt == 3) {
            result = (long)(2+(num/2)*8+(num%2)*4);
        }else if(hurt == 4) {
            result = (long)(3+(num/2)*8+(num%2)*2);
        }else {
            result = (long)(4 + num*8);
        }
        System.out.println(result);
    }
}
 
cs

'백준' 카테고리의 다른 글

#백준_1726 로봇 - Java 자바  (0) 2020.03.05
#백준_1039 교환 - Java 자바  (0) 2020.03.04
#백준_3006 터보소트 - Java 자바  (0) 2020.03.03
#백준_3187 양치기 꿍 - Java 자바  (0) 2020.03.03
#백준_2234 성곽 - Java 자바  (0) 2020.03.02

+ Recent posts