Cod sursa(job #1391009)

Utilizator Daria09Florea Daria Daria09 Data 17 martie 2015 15:57:24
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int main()
{
    int n,m,k,z,p[100],i,j,sw;
    f>>n;
    for(i=1;i<=n;i++){p[i]=i; g<<i<<" ";}
    g<<'\n';
    do
    {
        i=n-1; sw=1;
        while(sw==1&&p[i]>p[i+1])
        {
            i--;
            if(i==0)sw=0;
        }
        k=n;
        while(p[i]>p[k])
            k--;
        z=p[i];
        p[i]=p[k];
        p[k]=z;
        m=(n-i+1)/2;
        for(j=1;j<=m;j++)
        {
            z=p[j+i];
            p[j+i]=p[n-j+1];
            p[n-j+1]=z;
        }
        if(sw==1)
        {
           for(j=1;j<=n;j++)
            g<<p[j]<<" ";
          g<<'\n';
        }
    }while(sw==1);
    return 0;
}