標題:五星填數
如【圖1.png】的五星圖案節點填上數字:1~12,除去7和11。
要求每條直線上數字和相等。
如圖就是恰當的填法。
請你利用計算機搜索所有可能的填法有多少種。
注意:旋轉或鏡像後相同的算同一種填法。
請提交表示方案數目的整數,不要填寫任何其它內容。
#include <iostream>
#include<algorithm>
using namespace std;
int main(int argc, char** argv) {
int a[10]={1,2,3,4,5,6,8,9,10,12};
int a1,a2,a3,a4,a5;
int sum=0;
do{
a1=a[0]+a[2]+a[5]+a[8];
a2=a[1]+a[2]+a[3]+a[4];
a3=a[0]+a[3]+a[6]+a[9];
a4=a[1]+a[5]+a[7]+a[9];
a5=a[4]+a[6]+a[7]+a[8];
// cout<<a1<<" "<<a2<<" "<<a3<<" "<<a4<<" "<<a5<<endl;
if(a1==a2&&a1==a3&&a1==a4&&a1==a5)
sum++;
}while(next_permutation(a,a+10));
cout<<sum;
return 0;
}