#include<bits/stdc++.h>
using namespace std;
int a[95];
int b1[5][5],b2[5][5],b3[5][5];
int n,cnt = 0;
void dfs(int number)
{
if (number > n)
{
cnt++;
return;
}
int pai,lie,kuai;
pai = (number - 1) / 4 + 1;
lie = (number - 1) % 4 + 1;
kuai =
for (int i = 1;i <= 4;i++)
{
if (b1[pai][i] == 0&&b2[lie][i] == 0&&b3[kuai][i] == 0)
{
a[number] = i;
b1[pai][i] = 1;
b2[lie][i] = 1;
b3[kuai][i] = 1;
dfs(number + 1);
b1[pai][i] = 0;
b2[lie][i] = 0;
b3[kuai][i] = 0;
}
}
}
int main()
{
cin>>n;
dfs(1);
cout<<cnt;
return 0;
}
是在dfs函数中kuai的赋值
求解!!!!
在线等