정말 좋은 압축 (백준 5043)

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

백준문제풀이

목록 보기
155/308

안녕하세요. 오늘은 압축을 할 거예요.

문제

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

아이디어

길이가 최대 2비트인 값들은 무엇이 있을까요?
"", "0","1","01","10","00","11"이 있습니다. 총 7개지요.
최대 3개, 4개를 해보면 알 수 있습니다. 비트가 최대 n개일때 값들의 개수는 최대 2^0+2^1+2^2+...+2^n이고 이 값은 2^(n+1)-1이라는 사실이라는것입니다.

소스코드

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

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll N, b, i, mul = 1;

    cin >> N >> b;
    for (i = 1; i <= b + 1; i++) mul *= 2;
    mul--;

    if (N <= mul) cout << "yes";
    else cout << "no";
}


감사합니다.

0개의 댓글