한마음

10824 - 네 수 본문

공부/알고리즘

10824 - 네 수

갓태희 2020. 10. 19. 02:00

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

#include <iostream>
#include <cmath>
using namespace std;
typedef long long int ll;
int main(){

    ll a,b,c,d;
    cin >> a >> b >> c >> d;

    // 모든 수가 백만이하의 자연수 이므로
    // long long int로 충분히 커버가 가능하다 만약 커버가 안됬다면 string을 사용했을것이다.
    
    // B와 D의 자릿수 만큼의 10의 거듭제곱이 각각 A와 C에 곱해져야 A와B, C와D를 붙힐수있다.
    ll save_b = (ll)b;
    ll save_d = (ll)d;


    int count_b = 0; // B의 자리수

    do{
        b/=10ll;
        count_b++;
    }while(b>0);

    int count_d = 0; // D의 자리수

    do{
        d/=10ll;
        count_d++;
    }while(d>0);


    cout << (ll)((ll)a*(ll)(pow(10,count_b)) + (ll)save_b) // A와 B 붙힌값
    + (ll)((ll)c*(ll)(pow(10,count_d)) + (ll)save_d)<< '\n'; // C와 D 붙힌값

    return 0;
}

깃허브

'공부 > 알고리즘' 카테고리의 다른 글

11005 - 진법 변환 2  (0) 2020.10.19
1018 - 체스판 다시 칠하기  (0) 2020.10.19
1021 - 회전하는 큐  (0) 2020.10.19
Comments