Cod sursa(job #2533809)

Utilizator betybety bety bety Data 29 ianuarie 2020 18:49:50
Problema 12-Perm Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <algorithm>
#define mod 1048576
using namespace std;
ifstream cin("12perm.in");
ofstream cout("12perm.out");
int v[15000005];
int main()
{
    int n,cnt=0;
    cin>>n;
    if(n>=42)
    {
        cout<<0;
        return 0;
    }
    for(int i=1;i<=n;++i)
        v[i]=i;
    do
    {
        bool ok=0;
        for(int i=2;i<=n and ok==0;++i)
            if(v[i]-v[i-1]<-2 or v[i]-v[i-1]>2)
            ok=1;
        cnt+=1-ok;
        cnt%=mod;
    }while(next_permutation(v+1,v+n+1));
    cout<<cnt;
    return 0;
}