골드 러시 (백준 10275)

코딩생활·2023년 10월 31일
0

백준문제풀이

목록 보기
28/308

안녕하세요. 오늘은 절반으로 쪼갤거예요.

문제

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

아이디어

수학적으로 생각해보면 a,b,c에서 b와 c에서의 비트가 다른 개수가 정답이 됩니다. 그래서 a xor b xor c에서의 비트가 1인 개수를 세어주면 됩니다.

소스코드

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

ll CNT(ll x)
{
    ll cnt = 0;
    while (x)
    {
        cnt += x % 2;
        x /= 2;
    }
    return cnt;
}

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll T, a, b, c;
    cin >> T;
    while (T--)
    {
        cin >> a >> b >> c;
        cout << CNT((ll)(pow(2, a)) ^ b ^ c) << "\n";
    }
}


감사합니다.

0개의 댓글