题目 将数字 1…9 填入一个3×3 的九宫格中,使得格子中每一横行和的值全部相等,每一竖列和的值全部相等。请你计算有多少种填数字的方案。
暴力搜索 全排列
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int num[10] = {0,1,2,3,4,5,6,7,8,9};
int cnt = 0;
do
{
if(num[1]+num[2]+num[3]==15&&num[4]+num[5]+num[6]==15&&num[7]+num[8]+num[9]==15&&num[1]+num[4]+num[7]==15&&num[2]+num[5]+num[8]==15&&num[3]+num[6]+num[9]==15)
{
//cout << num[1]<<" "<<num[2]<<" "<<num[3]<<endl;
//cout << num[4]<<" "<<num[5]<<" "<<num[6]<<endl;
//cout << num[7]<<" "<<num[8]<<" "<<num[9]<<endl<<endl;
cnt++;
}
}while(next_permutation(num+1,num+10));
cout << cnt;
}