如题~
A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。
要求每个边的和相等。
下图就是一种排法。
A
9 6
4 8
3 7 5 2
这样的排法可能会有很多。
如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?
请你计算并提交该数字。
注意:需要提交的是一个整数,不要提交任何多余内容。
题目给的意思不是让你去拼三角形,如果是拼三角形的话,就难多了。
他是让你找个数,那不就容易了嘛~
招到三个边都相等的,然后再除去翻转和镜像的6倍。就是答案了。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int a[9]={1,2,3,4,5,6,7,8,9};
int res=0;
do
{
int x1=a[0]+a[1]+a[2]+a[3];
int x2=a[3]+a[4]+a[5]+a[6];
int x3=a[6]+a[7]+a[8]+a[0];
if(x1==x2&&x2==x3)
{
res++;
}
}
while(next_permutation(a,a+9));//全排列
cout<<res/3/2<<endl;//翻转除以3,镜像除以2
return 0;
}
答案为:144