Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

PS 부수기

Project Euler #24 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 만들 수 있는 1,000,000번째 사전식 순열은? 본문

Project Euler

Project Euler #24 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 만들 수 있는 1,000,000번째 사전식 순열은?

jyheo98 2020. 8. 7. 14:15
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
int main() {
    VI fact;
    fact.push_back(1);
    llong mul = 1;
    for (int i = 1; i <= 10; i++) {
        mul *= i;
        fact.push_back(mul);
    }
    int NUM = 1000000;
    vector<bool> vis(10);
    int curFact = 9;
    while (1) {
        int cnt = 0;
        while (1) {
            if (NUM > fact[curFact]) {
                NUM -= fact[curFact];
                cnt++;
            }
            else {
                break;
            }
        }
        rep(i, 010) {
            if (vis[i] == 0 && cnt == 0) {
                cout << i;
                vis[i] = 1;
                break;
            }
            else if (vis[i] == 0) cnt--;
        }
        curFact--;
    }
}
cs

이런 문제 어려워

Comments