#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include <iostream>
#include<string.h>
#include<algorithm>
#define ll long long
#include<vector>
#define hengheng main ()
const int maxx=1e7+10;
using namespace std;
int sum=0;
int a[7][7]={0};
void dfs(int i,int j)
{
if(a[i][j]==1) return ;// 已经走过
if(i==0||i==6||j==0||j==6)
{
sum++;
a[i][j]=0; // 能走出来,然后把此值更新为0
return ; // 走出来必须结束,不然就卡死了,很烦~
}
a[i][j]=1; // 走过此地
a[6-i][6-j]=1; // 与其中心对称的地方也就不能走了 ,, 因为要对称 (核心)!!!!
dfs(i+1,j);
dfs(i,j+1); // 四个方向
dfs(i,j-1);
dfs(i-1,j);
a[i][j]=0; //
a[6-i][6-j]=0;
}
int main()
{
int j,i,k=0,n,m,t=0,x;
dfs(3,3);
printf("%d\n",sum/4); // 除4 因为左右对称一次,旋转对称一次,真的很烦,脑袋呆~
return 0;
}
方格填数
这个题怎么说呢,暴力出奇迹,,,
我二话不说直接十层for
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include <iostream>
#include<string.h>
#include<algorithm>
#define ll long long
#include<vector>
#define hengheng main ()
const int maxx=1e5+10;
using namespace std;
int main()
{
int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
int sum=0;
for(a5=1;a5<=10;a5++)
{
for(a6=1;a6<=10;a6++)
if(a5!=a6&&(abs(a5-a6)!=1))
{
for(a2=1;a2<=10;a2++)
if(a2!=a5&&a2!=a6&&(abs(a5-a2)!=1)&&(abs(a2-a6)!=1))
{
for(a9=1;a9<=10;a9++)
{
if(a9!=a5&&a9!=a6&&a9!=a2&&(abs(a5-a9)!=1)&&(abs(a9-a6)!=1))
{
for(a1=1;a1<=10;a1++)
if(a1!=a5&&a1!=a6&&a1!=a2&&a1!=a9&&(abs(a5-a1)!=1)&&(abs(a1-a6)!=1)&&(abs(a2-a1)!=1))
{
for(a10=1;a10<=10;a10++)
if(a10!=a2&&a10!=a5&&a10!=a6&&a10!=a2&&a10!=a9&&a10!=a1&&(abs(a5-a10)!=1)&&(abs(a10-a6)!=1)&&(abs(a10-a9)!=1))
{
for(a4=1;a4<=10;a4++)
if(a4!=a2&&a4!=a5&&a4!=a6&&a4!=a2&&a4!=a9&&a4!=a1&&a4!=a10&&(abs(a4-a1)!=1)&&(abs(a4-a5)!=1)&&(abs(a4-a9)!=1))
{
for(a7=1;a7<=10;a7++)
if(a7!=a2&&a7!=a5&&a7!=a6&&a7!=a2&&a7!=a9&&a7!=a1&&a7!=a10&&a7!=a4&&(abs(a7-a2)!=1)&&(abs(a7-a6)!=1)&&(abs(a7-a10)!=1))
{
for(a3=1;a3<=10;a3++)
if(a3!=a2&&a3!=a5&&a3!=a6&&a3!=a2&&a3!=a9&&a3!=a1&&a3!=a10&&a3!=a4&&a3!=a7&&(abs(a3-a2)!=1)&&(abs(a3-a6)!=1)&&(abs(a3-a7)!=1))
{
for(a8=1;a8<=10;a8++)
if(a8!=a2&&a8!=a5&&a8!=a6&&a8!=a2&&a8!=a9&&a8!=a1&&a8!=a10&&a8!=a4&&a8!=a7&&a8!=a3&&(abs(a8-a4)!=1)&&(abs(a8-a5)!=1)&&(abs(a8-a9)!=1))
sum++;
}
}
}
}
}
}
}
}
}
}
printf("%d\n",sum);
return 0;
}
开心的像个200斤的孩子