标题:六角填数
如图【1.png】所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?
请通过浏览器提交答案,不要填写多余的内容。
#include
#include
#include
using namespace std;
int a[] = {5, 7, 9, 2, 10, 11, 12, 4, 6};
bool isEqual(int *a) {
int sum = 8+a[0]+a[1]+a[2];
return (
sum == a[5]+a[6]+a[7]+a[8]&&
sum == 1+a[0]+a[3]+a[5]&&
sum == 1+a[0]+a[3]+a[5]&&
sum == 8+a[3]+a[6]+3 &&
sum == 3+a[7]+a[4]+a[2]
);
}
int main() {
int count = 0;
while(next_permutation(a, a+9)) {
if (isEqual(a)){
cout << a[3] << endl;
}
}
return 0;
} 答案是10