15668 : 방 번호

풀이

적당히 큰 수까지 어떻게 잘 돌려주면 된다.

코드

#include <cstdio>
#include <cstring>
#include <algorithm>
int n, ans, cnt[10];
int main() {
    scanf("%d", &n);
    for (int i = 1; i < std::min(n, 98765); i++) {
        memset(cnt, 0, sizeof(cnt));
        int a = i, b = n - i, flag = 1;
        while (a) cnt[a % 10]++, a /= 10;
        while (b) cnt[b % 10]++, b /= 10;
        for (int j = 0; j <= 9; j++) if (cnt[j] > 1) flag = 0;
        if (flag) { 
            printf("%d + %d", i, n - i);
            return 0;
        }
    }
    puts("-1");
    return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2018-06-24 21:41

Read more posts by this author