Cod sursa(job #1409207)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 30 martie 2015 14:03:52
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <cstdio>
using namespace std;
int n,i,ok,a[10],mn,q,j,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;
     printf("%d ",i);
    }
 printf("\n");
 ok=0;
 while(ok==0)
      {ok=1;
       for(i=n;i>=2;i--)
          if(a[i]>a[i-1]){ok=0;break;}
       if(ok==0){
       mn=a[i];
       q=i;
       for(j=i;j<=n;j++)
          {if((a[j]<mn)&&(a[j]>a[i-1])){mn=a[j];q=j;}
          }
       aux=a[i-1];
       a[i-1]=a[q];
       a[q]=aux;
       for(j=i;j<=(n+i)/2;j++)
          {aux=a[j];
           a[j]=a[n+i-j];
           a[n+i-j]=aux;
          }
       for(j=1;j<=n;j++)
          printf("%d ",a[j]);
        printf("\n");
       }
      }
}