//六角填数
//2015-03-12
//287283991@qq.com
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
#define eps 10e-10
#define N 15
static int A[N],vis[N];
static int t[7];
void dfs(int x)
{
if(x==1||x==2||x==12)
{
dfs(x+1);
return ;
}
if(x>=13)
{
int flag=true;
t[1]=A[1]+A[3]+A[6]+A[8];
t[2]=A[2]+A[3]+A[4]+A[5];
t[3]=A[1]+A[4]+A[7]+A[11];
t[4]=A[8]+A[9]+A[10]+A[11];
t[5]=A[2]+A[6]+A[9]+A[12];
t[6]=A[5]+A[7]+A[10]+A[12];
for(int i=1;i<6;i++)
{
if(t[i]!=t[i+1])
{
flag=false;
return;
}
}
if(flag)
{
cout<<A[6]<<" ";
}
}
if(x<13)
{
for(int i=1;i<13;i++)
{
if(!vis[i])
{
A[x]=i;
vis[i]=1;
dfs(x+1);
vis[i]=0;
}
}
}
}
int main()
{
for(int i=0;i<N;i++)
{
vis[i]=0;
}
memset(vis,0,sizeof(vis));
A[1]=1,A[2]=8,A[12]=3;
vis[1]=1,vis[8]=1,vis[3]=1;
dfs(1);
return 0;
}
http://blog.csdn.net/ljd4305/article/details/22101649#comments
因为身体原因耽误了好多事情
最近
蓝桥杯开始刷题
原文地址:http://blog.csdn.net/u010416101/article/details/44218305