思路:
这是一道组合数学的题
对于蒟蒻的我来说,这是一个完全陌生的领域
就先拿这道题入门了
观察之后可以发现,每两个顶点连一条对角线,每两条对角线有一个顶点,所以每一个交点对应四个顶点
就是组合数c(n,4)
c(n,4) = n!/4!(n-4)! = n(n-1)(n-2)(n-3)/4!
答案可能会爆long long
所以可以把公式化成这样
n*(n-1)/2*(n-2)/3*(n-3)/4
因为n和n-1一定有一个是2的倍数,所以2可以除尽
同理n、n-1、n-2中一定有一个是3的倍数,所以3也可以除尽
同理4也可以除尽
还有一个问题,这里使用long long 会wa,要定义成unsigned long long
ull n,ans;
int main()
{
cin >> n;
ans = n*(n-1)/2*(n-2)/3*(n-3)/4;
printf("%lld\n",ans);
return 0;
}