题解:
在圆上点三个点时,除圆上三个交点外,圆内没有交点;在圆上点四个点时,除圆上四个交点外,圆内出现了一个交点,因此,在N个点中每四个点便可以在圆内产生一个交点,因此N个点在圆内形成的点的个数为CN4,总的交点数就是CN4+N
1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 #include<math.h> 7 #include<algorithm> 8 #include<queue> 9 #include<set> 10 #include<bitset> 11 #include<map> 12 #include<vector> 13 #include<stdlib.h> 14 using namespace std; 15 #define ull unsigned long long int 16 #define eps 1e-10 17 #define MOD 1000000007 18 #define N 1000000 19 #define inf 1e12 20 ull n; 21 int main() 22 { 23 int t; 24 scanf("%d",&t); 25 while(t--){ 26 scanf("%I64u",&n); 27 ull ans=0; 28 if(n>=4) 29 ans=ans+n*(n-1)/2*(n-2)/3*(n-3)/4; 30 ans+=n; 31 printf("%I64u\n",ans); 32 } 33 return 0; 34 }