#include<bits/stdc++.h>
using namespace std;
#define ll long long
int a[]= {1,2,3,4,5,6,7,8,9};
int ans;
set<int>s;
bool check()
{
s.clear();
int num1=a[0]+a[1]+a[2];///hang
int num2=a[3]+a[4]+a[5];
int num3=a[6]+a[7]+a[8];
s.insert(num1);
s.insert(num2);
s.insert(num3);
if(s.size()!=3) return 0;
int num4=a[0]+a[3]+a[6];///lie
int num5=a[1]+a[4]+a[7];
int num6=a[2]+a[5]+a[8];
s.insert(num4);
s.insert(num5);
s.insert(num6);
if(s.size()!=6) return 0;
int num7=a[0]+a[4]+a[8];
int num8=a[2]+a[4]+a[6];
s.insert(num7);
s.insert(num8);
if(s.size()!=8)
{
return 0;
}
return 1;
}
int main()
{
ans=0;
do
{
if(check()==1) ans++;
}
while(next_permutation(a,a+9));
cout<<ans/8<<endl;
// printf("3120\n");
return 0;
}
1312: [蓝桥杯2016决赛]反幻方(水题)
最新推荐文章于 2021-04-13 19:58:58 发布