题目描述
对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点。请求楚图形中对角线交点的个数。
例如,6边形:
输入输出格式
输入格式:
第一行一个n,代表边数。
输出格式:
第一行输出交点数量
输入输出样例
输入样例#1: 复制
3
输出样例#1: 复制
0
输入样例#2: 复制
6
输出样例#2: 复制
15
说明
50%的测试数据 3≤N≤100;
100%的测试数据 3≤N≤100000.
题解:两条线交于一点,确定图像的4个顶点,所以答案就是 组合C(n,4)。
#include<bits/stdc++.h>
//#include <unordered_map>
//#include<unordered_set>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<set>
#include<climits>
#include<queue>
#include<cmath>
#include<stack>
#include<map>
using namespace std;
#define LL long long
#define ULL unsigned long long
#define MT(a,b) memset(a,b,sizeof(a))
const int INF = 0x3f3f3f3f;
const int ONF = -0x3f3f3f3f;
const int O = 1e5;
const int mod = 1e9+7;
const int maxn = 1e5+5;
const int N = 1e9+5;
const double PI = 3.141592653589;
const double E = 2.718281828459;
int main()
{
ULL n;scanf("%llu",&n);
ULL ans = n * (n-1)/2 * (n-2)/3 * (n-3)/4;//组合C(n,4)
printf("%llu\n",ans);
return 0;
}