Cod sursa(job #837694)

Utilizator ephgstefana gal ephg Data 18 decembrie 2012 15:02:37
Problema 12-Perm Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<cstdio>
#include<cstdlib>
int n,c,fol[20],sc[20];
void back(int poz){
    if(poz==n+1){
        ++c;
        //for(int i=1;i<=n;++i)printf("%d ",sc[i]);
       // printf("\n");
        return;
    }
    for(int i=1;i<=n;++i){
        if(fol[i]==0&&(abs(sc[poz-1]-i)<3||poz==1)){
            fol[i]=1;
            sc[poz]=i;
            back(poz+1);
            fol[i]=0;
        }
    }
}
int main (){
    freopen("12perm.in","r",stdin);
    freopen("12perm.out","w",stdout);
    scanf("%d",&n);
    back(1);
    printf("%d\n",c);
    return 0;
}