#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
map <vector <int>, int> mapa;
int main()
{
ios_base::sync_with_stdio(0);
int n, i, j, k, z;
cin>>n>>z;
vector <int> kol;
bool ok = 1;
kol.push_back(0);
for(i = 1; i <= n; i++)
{
kol.push_back(i);
}
int ktora = 0;
while(ok)
{
next_permutation(kol.begin() + 1, kol.end());
bool wsz = 1;
for(i = 1; i <= n; i++)
if(kol[i] != i)
wsz = 0;
if(wsz)
{
cout<<"NIE";
return 0;
}
int l = 0, p = 0;
for(i = 1; i <= n; i++)
{
for(k = i + 1; k <= n; k++)
{
if(kol[i] > kol[k])
l++;
}
}
for(i = 1; i <= n; i++)
{
for(k = i + 1; k <= n; k++)
{
if(kol[i] < kol[k])
p++;
}
}
//if(l == 5)
// cout<<l<<" "<<p<<"\n\n";
if(l == p)
{
//cout<<l<<"\n";
//for(i = 1; i <= n; i++)
// cout<<kol[i]<<" ";
//cout<<"\n";
ktora++;
if(ktora == z)
{
cout<<"TAK\n";
for(i = 1; i <= n; i++)
cout<<kol[i]<<" ";
cout<<"\n";
return 0;
}
}
}
//cout<<mapa.size()<<"\n";
}
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #include <iostream> #include <algorithm> #include <vector> #include <map> using namespace std; map <vector <int>, int> mapa; int main() { ios_base::sync_with_stdio(0); int n, i, j, k, z; cin>>n>>z; vector <int> kol; bool ok = 1; kol.push_back(0); for(i = 1; i <= n; i++) { kol.push_back(i); } int ktora = 0; while(ok) { next_permutation(kol.begin() + 1, kol.end()); bool wsz = 1; for(i = 1; i <= n; i++) if(kol[i] != i) wsz = 0; if(wsz) { cout<<"NIE"; return 0; } int l = 0, p = 0; for(i = 1; i <= n; i++) { for(k = i + 1; k <= n; k++) { if(kol[i] > kol[k]) l++; } } for(i = 1; i <= n; i++) { for(k = i + 1; k <= n; k++) { if(kol[i] < kol[k]) p++; } } //if(l == 5) // cout<<l<<" "<<p<<"\n\n"; if(l == p) { //cout<<l<<"\n"; //for(i = 1; i <= n; i++) // cout<<kol[i]<<" "; //cout<<"\n"; ktora++; if(ktora == z) { cout<<"TAK\n"; for(i = 1; i <= n; i++) cout<<kol[i]<<" "; cout<<"\n"; return 0; } } } //cout<<mapa.size()<<"\n"; } |
English