2014年第五届蓝桥杯C/C++程序设计本科B组省赛 7六角填数

时间:2022-09-09 23:13:36

六角填数
如图所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?
2014年第五届蓝桥杯C/C++程序设计本科B组省赛 7六角填数

下面是本渣渣的AC代码。(纯暴力,逐渐喜欢上了暴力)

#include<stdio.h>
int main()
{
int n,m,k;
for(int a1=2; a1<=12; a1++)
{
if(a1==1||a1==3||a1==8)
continue;
for(int a2=2; a2<=12; a2++)
{
if(a2==1||a2==3||a2==8)
continue;
for(int a3=2; a3<=12; a3++)
{
if(a3==1||a3==3||a3==8)
continue;
for(int a4=2; a4<=12; a4++)
{
if(a4==1||a4==3||a4==8)
continue;
for(int a5=2; a5<=12; a5++)
{
if(a5==1||a5==3||a5==8)
continue;
for(int a6=2; a6<=12; a6++)
{
if(a6==1||a6==3||a6==8)
continue;
for(int a7=2; a7<=12; a7++)
{
if(a7==1||a7==3||a7==8)
continue;
for(int a8=2; a8<=12; a8++)
{
if(a8==1||a8==3||a8==8)
continue;
for(int a9=2; a9<=12; a9++)
{
{
if(a9==1||a9==3||a9==8)
continue;
if(((8+a5+a7+3)==(a1+a5+a6+1))&&((8+a5+a7+3)==(1+a2+a4+a9))&&((8+a5+a7+3)==(a3+a4+a8+3))&&(((8+a5+a7+3))==(8+a1+a2+a3))&&((8+a5+a7+3)==(a6+a7+a8+a9))&&a1!=a2&&a1!=a3&&a1!=a4&&a1!=a5&&a1!=a6&&a1!=a7&&a1!=a8&&a1!=a9&&a2!=a3&&a2!=a4&&a2!=a5&&a2!=a6&&a2!=a7&&a2!=a8&&a2!=a9&&a3!=a4&&a3!=a5&&a3!=a6&&a3!=a7&&a3!=a8&&a3!=a9&&a4!=a5&&a4!=a6&&a4!=a7&&a4!=a8&&a4!=a9&&a5!=a6&&a5!=a7&&a5!=a8&&a5!=a9&&a6!=a7&&a6!=a8&&a6!=a9&&a7!=a8&&a7!=a9&&a8!=a9 )
printf("%d\n",a5);
}
}
}
}
}
}
}
}
}
}
}