首页 > 代码库 > ac1008

ac1008

这题说的是 给了n个点在圆 上 然后 i连 i+2 从i+2 开始连 i+4  然后 这样一直到某个点 已经被连过为止   如果还有的没有被连过 就从那个点开始 连 按照上面的规则 当 N大于6 的时候可以很简单的发现 num=N*5;   画出后就很容易发现  当n《=2 的时候是0 个 n=3  1  n==4  8   n==5 35   n==6  32  为什他们不是N*5 呢 因为他们本身就是 一个三角形 所以个数有增加 二当 n大与6的时候 本身的 三角形就没有了 

#include <iostream>
#include<cstdio>
#include<string.h>
using namespace std;
int main()
{
    int t,cas=1;
    scanf("%d",&t);
    while(t--){

        int n;
        scanf("%d",&n);
        printf("Case #%d: ",cas++);
         if(n<=2)printf("0\n");
         else if(n==3)printf("1\n");
         else if(n==4)printf("8\n");
         else if(n==5) printf("35\n");
         else if(n==6) printf("32\n");
         else printf("%d\n",(n*5)%20121111);
    }
    return 0;
}
View Code