Cod sursa(job #1879255)
Utilizator | Data | 14 februarie 2017 20:08:54 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.76 kb |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define maxn 200010
#define nmaxn 2000000010
ll k,n,s[1000];
bool ok;
ifstream in ("permutari.in");
ofstream out("permutari.out");
void backtrack (ll k)
{
if(k==n)
{
for(int i=1;i<=n;i++)
out<<s[i]<<" ";
out<<endl;
}
else
{
for(int i=1;i<=n;i++)
{ok=true;
for(int j=1;j<=k;j++)
if(s[j]==i)
{
ok=false;
break;
}
if(ok==true)
{
s[k+1]=i;
backtrack(k+1);
}
}
}
}
int main(){
in>>n;
backtrack(0);
}
//'\n'
// ||