Pagini recente » Cod sursa (job #2308288) | Cod sursa (job #1510792) | Cod sursa (job #374733) | Cod sursa (job #1990282) | Cod sursa (job #627432)
Cod sursa(job #627432)
#include<cstdio>
int n, top, cand;
int st[10];
bool EValid(int top)
{
int i;
for(i = 1; i < top; i++)
if(st[i] == st[top]) return false;
return true;
}
void Afisare(int n)
{
int i;
for(i = 1; i <= n; i++)
printf("%d ", st[i]);
printf("\n");
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
top = 1;
st[top] = 0;
while(top > 0)
{
cand = 0;
while(!cand && st[top] < n)
{
st[top]++;
cand = EValid(top);
}
if(!cand) top--;
else if(top == n) Afisare(top);
else st[++top] = 0;
}
return 0;
}