http://oj.ecustacm.cn/problem.php?id=1275
全排列,不过结果要除以10 ,因为5个角旋转,还有镜像(对称)2
5*2=10
#include<cstdio>
#include<algorithm>
using namespace std;
int a[]={1,2,3,4,5,6,8,9,10,12};
int main(void)
{
int n=0;
do
{
int sum1=a[0]+a[1]+a[2]+a[3];
int sum2=a[0]+a[4]+a[5]+a[6];
int sum3=a[7]+a[1]+a[4]+a[8];
int sum4=a[7]+a[2]+a[9]+a[6];
int sum5=a[8]+a[5]+a[9]+a[3];
if(sum1==24&&sum2==24&&sum3==24&&sum4==24&&sum5==24)
{
n++;
}
}while(next_permutation(a,a+10));
printf("%d\n",n/10);
return 0;
}