题意:在圆上取n个点,相邻两个点之间连线,(注意,n和1相邻),然后所有点对(i ,i+2)相连,问能形成的不同的三角形有多少个?
思路:找规律
n=3,cnt=1;
n=4,cnt=8;
n=5 cnt=35 (5*2+5*2+ 5+5+5);
n=6 cnt= 32 (6*2+6*2+ 6+2);
n=7,cnt=35 (7*2+7*2+7);
n=8, cnt=40 (8*2+8*2+8)
n>6;cnt=5*n;
AC代码:
1 #include2 #include 3 #include 4 #define m 20121111 5 int main() 6 { 7 int t,n; 8 scanf("%d",&t); 9 int cas=1;10 while(t--)11 {12 int ans;13 scanf("%d",&n);14 if(n<3)15 ans = 0;16 else if(n == 3)17 ans = 1;18 else if(n == 4)19 ans = 8;20 else if(n == 5)21 ans = 35;22 else if(n == 6)23 ans = 32;24 else25 ans = 5*n;26 printf("Case #%d: %d\n",cas++,ans%m);27 }28 return 0;29 }