본문 바로가기

알고리즘/백준

[BOJ 1783] 병든 나이트(C++)

https://www.acmicpc.net/problem/1783

 

1783번: 병든 나이트

첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

이 문제는 체스가 위와 아래로 움직일 때, 항상 오른쪽으로 간다.

 

 

 

다양한 케이스를 코드로 구현하면 되는 문제이다.

 

 

 

해설코드(C++).

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
#include <iostream>
using namespace std;
 
long long N, M;
long long answer = 1;
 
int main() {
    cin >> N >> M;
    if(N >= 3){
        if(M >= 6){
            answer = M - 2;
        }else{
            if(M == 5)
                answer = 4;
            else 
                answer = M;
        }
    }else if(N == 2){
        if(M >= 7){
            answer = 4;
        }else
            answer = (M + 1/ 2;
    }
    
    cout << answer << endl;
    return 0;
}