Cod sursa(job #311662)

Utilizator rusu_raduRusu Radu rusu_radu Data 3 mai 2009 21:00:54
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream.h>

int n, i, j, aux, st, dr, ok, T[1001];
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int main()
{
  fin>>n;
  for (i=0; i<n; i++)
    T[i]=i+1;
  while (!ok)
   {
     for (i=0; i<n; i++)
       fout<<T[i]<<" ";
     fout<<'\n';
     for (i=n-1; i>=0&&T[i]>T[i+1]; i--);
     if (i==n)
       ok=1;
     else
       {
	 for (j=n-1; j>=0; j--)
	   if (T[j]>T[i])
	     {
	       aux=T[i];
	       T[i]=T[j];
	       T[j]=aux;
	       break;
	     }
	 for (st=i+1, dr=n-1; st<dr; st++, dr--)
	   {
	     aux=T[st];
	     T[st]=T[dr];
	     T[dr]=aux;
	   }
       }
   }
  fout.close();
  return 0;
}