이진 딸기 (백준 22935)

코딩생활·2024년 1월 9일
0

백준문제풀이

목록 보기
163/308

안녕하세요. 오늘은 딸기 게임을 할 거예요.

문제

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

아이디어

일단 주기부터 봅시다.
주기는 28입니다.
또한 14와 16, 13과 17등은 같으므로 N>=16일 경우에 N=30-N을 해주면 됩니다.
그러면 N이 1이상 15이하가 되는데 그러면 N을 이진수로 바꿔서 0은 V, 1은 딸기로 바꿔서 출력해주면 됩니다.

소스코드

#include <iostream>
#define ll long long
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll T, N;
    cin >> T;
    while (T--)
    {
        cin >> N;
        N--; N %= 28; N++;
        if (16 <= N) N = 30 - N;

        for (ll i = 8; i >= 1; i /= 2)
        {
            if (N >= i)
            {
                cout << "딸기";
                N -= i;
            }
            else cout << "V";
        }
        cout << "\n";
    }
}


감사합니다.

0개의 댓글