高中生程式解題系統:a524: 手機之謎

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

題目連結 http://zerojudge.tw/ShowProblem?problemid=a524

Standard Template Library: Algorithms裡的prev_permutation解。

程式碼:
#include <cstdio>
#include <algorithm>

using namespace std;

int main() {
    int n;

    while( scanf("%d", &n) != EOF ) {
        int *number = new int[n];
        for( int i = 0; i < n; i++ )
            number[i] = n - i;

        do {
            for( int i = 0; i < n; i++ )
                printf("%d", number[i]);
            printf("\n");
        } while ( std::prev_permutation(number, number + n) );

        delete number;
    }

    return 0;
}

沒有留言: