标题:六角填数
如图【1.png】所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?
请通过浏览器提交答案,不要填写多余的内容。
10
直接9层循环就行了
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
for(int a=2;a<=12;a++)
for(int b=2;b<=12;b++)
if(a!=b){
for(int c=2;c<=12;c++)
if(a!=c&&b!=c){
for(int d=2;d<=12;d++)
if(a!=d&&b!=d&&c!=d){
for(int e=2;e<=12;e++)
if(a!=e&&b!=e&&c!=e&&d!=e){
for(int f=2;f<=12;f++)
if(a!=f&&b!=f&&c!=f&&d!=f&&f!=e){
for(int g=2;g<=12;g++)
if(a!=g&&b!=g&&c!=g&&d!=g&&e!=g&&f!=g){
for(int h=2;h<=12;h++)
if(a!=h&&b!=h&&c!=h&&d!=h&&e!=h&&f!=h&&g!=h){
for(int i=2;i<=12;i++){
if(a!=i&&b!=i&&c!=i&&d!=i&&e!=i&&f!=i&&g!=i&&h!=i){
int A=8+a+b+3; int B=g+f+d+3; int C=1+i+a+c;
int D=1+h+f+e; int E=8+i+h+g; int F=c+b+d+e;
if(a!=3 && a!=8 && b!=3 && b!=8 && c!=3 && c!=8 && d!=3 && d!=8 && e!=3 && e!=8 && f!=3 && f!=8 && g!=3 && g!=8 && h!=3 && h!=8 && i!=3 && i!=8)
{
if(A==B && B==C && C==D &&D==E && E==F)
printf("%d %d %d %d %d %d %d %d %d %d\n",A,a,b,c,d,e,f,g,h,i);
}
}
}
}
}
}
}
}
}
}
return 0;
}