드랍 더 비트

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N, a, b가 주어질 때, 1의 개수가 각각 a개와 b개인 두 N자리 이진수 x, y의 XOR 최댓값을 구한다.
난이도

보통10점 중 4점

유형
그리디, 비트 연산, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

비트를 가지고 노는 래퍼 H.Arc는 작곡이 마음대로 되지 않던 어느 날 두 NN자리 이진수 xx, yy를 떠올렸다. 그러고는 다음과 같이 메모를 남겼다.

xx는 aa개의 자리가, yy는 bb개의 자리가 11로 되어 있다. 이때 두 수 모두 00으로 시작할 수 있다.

이 메모를 발견한 당신은 문득 H.Arc가 떠올렸을 수 있는 모든 xx, yy의 조합에 대해서 x⊕yx \oplus y의 최댓값이 얼마일지 궁금해졌다. 이 값을 구해보자.

입력

첫째 줄에 NN이 주어진다. (1≤N≤10)(1 \le N \le 10)

둘째 줄에 aa, bb가 공백으로 구분되어 주어진다. (0≤a,b≤N)(0 \le a, b \le N)

출력

x⊕yx \oplus y의 최댓값을 출력한다.

힌트

⊕\oplus는 bitwise XOR 연산으로, 두 이진수 a,ba, b에 대하여 aa와 bb의 ii번째 자리가 같으면 a⊕ba \oplus b의 ii번째 자리는 00, 다르면 11이다.

예제2

  1. 예제 1

    입력
    2
    1 1
    
    예상 출력
    3
    
  2. 예제 2

    입력
    3
    2 2
    
    예상 출력
    6