7795 | 2024-01-11 10:20:42 | Albertstein99 | 2015. október | cpp17 | Elfogadva | 3ms | 3524 KiB |
#include <bits/stdc++.h>
using namespace std;
unsigned long long fact(int k){
if(k == 0) return 1;
return k * fact(k - 1);
}
int main(){
unsigned long long n, m;
cin >> n >> m;
m--;
vector <int> h;
for(int i = 0; i < n; i++){
h.push_back(i + 1);
}
for(int i = n - 1; i >= 0; i--){
cout << h[m / fact(i)] << " ";
h.erase(h.begin() + int(m / fact(i)));
m %= fact(i);
}
}
1 2 4 3
Elvárt kimenet:1 2 4 3
Ellenőrző kimenete:ok 4 number(s): "1 2 4 3"
5 3 2 4 1
Elvárt kimenet:5 3 2 4 1
Ellenőrző kimenete:ok 5 number(s): "5 3 2 4 1"
1
Elvárt kimenet:1
Ellenőrző kimenete:ok 1 number(s): "1"
1 8 3 5 7 4 2 6 9
Elvárt kimenet:1 8 3 5 7 4 2 6 9
Ellenőrző kimenete:ok 9 numbers
1 8 10 2 3 12 4 6 7 5 9 11
Elvárt kimenet:1 8 10 2 3 12 4 6 7 5 9 11
Ellenőrző kimenete:ok 12 numbers
7 3 1 5 8 9 10 11 2 6 4
Elvárt kimenet:7 3 1 5 8 9 10 11 2 6 4
Ellenőrző kimenete:ok 11 numbers
2 1
Elvárt kimenet:2 1
Ellenőrző kimenete:ok 2 number(s): "2 1"
6 3 8 2 5 4 10 11 7 1 9
Elvárt kimenet:6 3 8 2 5 4 10 11 7 1 9
Ellenőrző kimenete:ok 11 numbers
4 5 2 1 7 6 3
Elvárt kimenet:4 5 2 1 7 6 3
Ellenőrző kimenete:ok 7 numbers
10 2 4 1 5 8 3 9 7 6
Elvárt kimenet:10 2 4 1 5 8 3 9 7 6
Ellenőrző kimenete:ok 10 numbers
1
Elvárt kimenet:1
Ellenőrző kimenete:ok 1 number(s): "1"
2 5 14 12 8 4 11 6 13 9 1 10 3 7
Elvárt kimenet:2 5 14 12 8 4 11 6 13 9 1 10 3 7
Ellenőrző kimenete:ok 14 numbers
3 2 1
Elvárt kimenet:3 2 1
Ellenőrző kimenete:ok 3 number(s): "3 2 1"
1 4 3 6 2 5
Elvárt kimenet:1 4 3 6 2 5
Ellenőrző kimenete:ok 6 numbers
1
Elvárt kimenet:1
Ellenőrző kimenete:ok 1 number(s): "1"
14 13 12 11 10 9 8 7 6 5 4 3 2 1
Elvárt kimenet:14 13 12 11 10 9 8 7 6 5 4 3 2 1
Ellenőrző kimenete:ok 14 numbers
7 14 13 12 11 10 9 8 6 5 4 3 2 1
Elvárt kimenet:7 14 13 12 11 10 9 8 6 5 4 3 2 1
Ellenőrző kimenete:ok 14 numbers