Luogu P2181 对角线 简单数学,细节

传送门

首先由于不会有三条对角线交于一点,所以过某一个交点有且只能有2条对角线
因此任选4个顶点,可以得到一个对角线交点
因此答案就是(C_n^4)

(C_n^4) = n(n-1)(n-2)(n-3)/24
直接这样写的话会爆long long
注意到n,n-1中必有一个数能被2整除,n,n-1,n-2中必有一个数能被3整除,n,n-1,n-2,n-3中必有一个数能被4整除,
可以改写为n
(n-1)/2 * (n-2)/3 * (n-3)/4
注意开unsigned long long.

#include<cstdio>

int main(){
	unsigned long long n;
	scanf("%lld", &n);
	unsigned long long ans = n * (n - 1) / 2 * (n - 2) / 3 * (n - 3) / 4;
	printf("%lld", ans);
	return 0;
}
原文地址:https://www.cnblogs.com/asdf1229/p/13458615.html