Cod sursa(job #2391672)
| Utilizator | Data | 29 martie 2019 09:11:48 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include<cstdio>
#define M 4000000
int n,k=1,s[9],i,o,l;
char r[M];
int main()
{
freopen("permutari.in","r",stdin),freopen("permutari.out","w",stdout),scanf("%d",&n);
while(k)
{
for(s[k]++,o=i=1;i<k&&o;i++)
if(s[k]==s[i])
o=0;
if(o)
if(s[k]<=n)
if(k==n)
{
for(i=1;i<=n;i++)
r[l++]=s[i]+48,r[l++]=' ';
r[l++]='\n';
}
else
s[++k]=0;
else
k--;
}
fwrite(r,1,l,stdout);
}
