구상한 알고리즘은 다음과 같다.
(n=6 일때,)
1. n이 3보다 작으면 / 1개 선택
2. (상근)3개뽑는다고 했을때 -> 다음 차례에서 (창영)1~3개가 남으면 / 1개 선택
3. 이 외의 경우 / 3개 선택
작성한 코드는 다음과 같다.
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int count = 0; //상근인지 창영인지 차례세기
while(n>0){
if(n<3)
n -= 1;
else if( (1<=(n-3)&&(n-3)<=3) )
n -= 1;
else
n -= 3;
count++;
}
//출력
if(count % 2 == 1)
cout << "SK";
else
cout << "CY";
return 0;
}
'백준' 카테고리의 다른 글
백준 1138 한 줄로 서기 c++ (0) | 2024.04.03 |
---|---|
백준 1205 등수 구하기 c++ (0) | 2024.04.02 |
백준 4659 비밀번호 발음하기 c++ (0) | 2024.04.01 |
백준 10431 줄세우기 c++ (0) | 2024.03.31 |
백준 11723 집합 c++ (0) | 2024.03.30 |