如图【1.png】所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?
请通过浏览器提交答案,不要填写多余的内容。
#include<iostream> using namespace std; int arr[15], brr[15], s=0; void dfs(int i){ if (i==13){ if (arr[1]==1&&arr[2]==8&&arr[12]==3){ if (arr[1]+arr[3]+arr[6]+arr[8]==arr[2]+arr[3]+arr[4]+arr[5]&& arr[1]+arr[3]+arr[6]+arr[8]==arr[1]+arr[4]+arr[7]+arr[11]&& arr[1]+arr[3]+arr[6]+arr[8]==arr[2]+arr[6]+arr[9]+arr[12]&& arr[1]+arr[3]+arr[6]+arr[8]==arr[5]+arr[7]+arr[10]+arr[12]&& arr[1]+arr[3]+arr[6]+arr[8]==arr[8]+arr[9]+arr[10]+arr[11]){ cout<<arr[6]; } } return ; } else{ for (int j=1; j<=12; j++){ if (!brr[j]){ arr[i]=j; brr[j]=1; dfs(i+1); brr[j]=0; } } } } int main() { dfs(1); //cout<<s; }