ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 10610번: 30
    정수론(Number theory) 2018. 6. 29. 13:41
    반응형

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


    1. 문제

    어느날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한다. 미르코를 도와 그가 만들고 싶어하는 수를 계산하는 프로그램을 작성하라. (그 수가 존재한다면)


    2. 알고리즘

    키워드 - 정수론, 그리드 알고리즘


    30 이란 숫자를 분리 하면 [3, 0] 으로 분리 할 수 있다.

    분리된 수의 합은 3 임으로 3의 배수이다.

    숫자 [3, 0] 의 조합으로 만들 수 있는 30의 배수 중 가장 큰 수는 [30] 이다.


    숫자 102를 분리 하면 [1, 0, 2] 으로 분리 된다.

    분리 된 수의 합은 3 임으로 3의 배수이다.

    숫자 [1, 0, 2]의 조합으로 만들 수 있는 30의 배수 중 가장 큰 수는 [210] 이다.


    문제의 조건의 30의 배수임으로 가장 작은 수로 0 이 포함 되어야 한다.



    3. 코드


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <deque>
    #include <map>
    #include <set>
    #include <stack>
    #include <cstring>
    using namespace std;
     
    #define MAX_SIZE 100
    #define INF 0x7fffffff
     
    /*
    * @memory  - 2268 kb
    * @time    - 4 ms
    */
    int main() {
     
        cin.tie(0);
        std::ios::sync_with_stdio(false);
     
        string s;
        cin >> s;
        int sum = 0;
        for (char c : s) {
            sum += c - '0';
        }
        sort(s.begin(), s.end());
        if (s[0== '0' && sum % == 0) {
            reverse(s.begin(), s.end());
            cout << s << '\n';
        }
        else {
            cout << "-1\n";
        }
        return 0;
    }
    cs


    반응형

    '정수론(Number theory)' 카테고리의 다른 글

    백준 1019번: 책 페이지  (0) 2018.07.01
    백준 4673번: 셀프 넘버  (0) 2018.06.29
    백준 5086번: 배수와 약수  (0) 2018.06.21
    백준 2581번 : 소수  (0) 2018.06.20
    백준 1978번 : 소수 찾기  (0) 2018.06.20

    댓글

Designed by Tistory.