Pagini recente » mixxx_phaser | Autentificare | Cod sursa (job #3352804) | Cod sursa (job #726149) | Cod sursa (job #3314484)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
#define Mod 666013
int n,m;
int v[30];
struct s{
long long s[2][2];
} e;
s produs(s a, s b){
s z;
z.s[0][0]=((a.s[0][0]*b.s[0][0])%Mod+(a.s[0][1]*b.s[1][0])%Mod)%Mod;
z.s[0][1]=((a.s[0][0]*b.s[0][1])%Mod+(a.s[0][1]*b.s[1][1])%Mod)%Mod;
z.s[1][0]=((a.s[1][0]*b.s[0][0])%Mod+(a.s[1][1]*b.s[1][0])%Mod)%Mod;
z.s[1][1]=((a.s[1][0]*b.s[0][1])%Mod+(a.s[1][1]*b.s[1][1])%Mod)%Mod;
return z;
}
s Putere(s w,int n){
if(n==1){
return w;
}
if(n==0){
return e;
}
if(n%2==0){
s f=Putere(w,n/2);
return produs(f,f);
}
else{
return produs(Putere(w,n-1),w);
}
}
void Afis(){
for(int i=1; i<=n; i++)
fout<<v[i]<<" ";
fout<<'\n';
}
bool ok(int k){
for(int i=1; i<k; i++){
if(v[i]==v[k])
return 0;
}
return 1;
}
bool sol(int k){
return k==n;
}
void Back(int k){
for(int i=1; i<=n; i++){
v[k]=i;
if(ok(k)){
if(sol(k)){
Afis();
}
else{
Back(k+1);
}
}
}
}
int main(){
ios::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin>>n;
Back(1);
return 0;
}