본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 21631 : Checkers

반응형

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

 

21631번: Checkers

The only line of input contains two integers $a$ and $b$ --- the number of white and black pieces, respectively ($0 \le a, b \le 10^{18}$).

www.acmicpc.net

if문을 사용해보는 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

white, black를 선언하고 입력받습니다.

 

📔 풀이과정

 1. white >= black인 경우 black을 모두 사용할 수 있습니다. 흰색과 검은색을 번갈아 놓으면 되기 때문입니다. 따라서 black을 출력해줍니다.

 

 2. 그 외의 경우는 white를 모두 사용해도 black의 개수가 남기 때문에 최대한 번갈아 세운 검은 줄의 개수는 white + 1가 답이 되며 이를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll white, black;
int main(){
    cin >> white >> black;
    if(white >= black) cout << black;
    else cout << white + 1;
}