Cod sursa(job #3200281)

Utilizator Botnaru_VictorBotnaru Victor Botnaru_Victor Data 4 februarie 2024 10:29:19
Problema 12-Perm Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>

using namespace std;

const int maxn=105;

int n;
bool vis[maxn];
int ans=0;
void beck(int l, int last)
{
    if(l==n+1)
    {
        ans++;
        return;
    }
    if(last==-1)
    {
        for(int i=1;i<=n;i++)
        {
            if(!vis[i])
            {
                vis[i]=1;
                beck(l+1,i);
                vis[i]=0;
            }
        }
        return;
    }
    for(int i=max(last-2,1);i<=min(last+2,n);i++)
    {
        if(!vis[i])
        {
            vis[i]=1;
            beck(l+1,i);
            vis[i]=0;
        }
    }

}

int main()
{
    cin>>n;
    beck(1,-1);
    cout<<ans<<'\n';
    return 0;
}