Cod sursa(job #712163)

Utilizator KheyasVettor Stefan-Andrei Kheyas Data 13 martie 2012 08:44:10
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <algorithm>
using namespace std;

int n,a[10],i,j,OK,aux;

int main()
{
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	
	scanf("%d",&n);
	
	for(i=1;i<=n;i++)
		a[i]=i;

	for(;;)
	{
		for(i=1;i<=n;i++)
			printf("%d ",a[i]);
		printf("\n");
		for(i=n;i>=1;i--)if(a[i-1]<a[i])break;
		for(j=n;j>=1;j--)if(a[j]>a[i-1])break;
		if(i==1)break;
		aux=a[i-1];a[i-1]=a[j];a[j]=aux;
		for(j=n;i<=j;i++,j--){aux=a[i];a[i]=a[j];a[j]=aux;}
		
		//OK=next_permutation(a+1,a+n+1);
		//if(!OK)
		//	break;
	}
	return 0;
}