• bzoj1800: [Ahoi2009]fly 飞行棋(乱搞)


    1800: [Ahoi2009]fly 飞行棋

    题目:传送门

    题解:

       大水题,早上签个到

       没什么好说的...搞个前缀和,算个周长...

       周长为奇数肯定误解啊废话QWQ 

       那么看到n<=20,还不暴力枚举!!!

       然后看一下对角点之间的弧长是不是半周长就好啦(判定定理啊)

       然后...一A

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<cstdlib>
     4 #include<cmath>
     5 #include<algorithm>
     6 using namespace std;
     7 int n,ans,x,bzc;
     8 int a[55];
     9 int main()
    10 {
    11     scanf("%d",&n);
    12     a[1]=0;ans=0;
    13     for(int i=2;i<=n;i++)
    14     {
    15         scanf("%d",&a[i]);
    16         a[i]=a[i-1]+a[i];
    17     }
    18     scanf("%d",&x);
    19     a[1]=a[n]+x;bzc=a[1]/2;
    20     if(a[1]%2==1){printf("0
    ");return 0;}
    21     for(int i=1;i<=n;i++)
    22         for(int j=i+1;j<=n;j++)
    23             for(int k=j+1;k<=n;k++)
    24                 for(int y=k+1;y<=n;y++)
    25                     if(abs(a[k]-a[i])==bzc && abs(a[y]-a[j])==bzc)
    26                         ans++;
    27     printf("%d
    ",ans);
    28     return 0;
    29 }
  • 相关阅读:
    一个Fragment的实例
    使用LayoutInflater添加一个布局引用
    11F:42点
    11E:分形盒
    11D:猴子摘桃
    11C:寻找边缘
    11B:夺宝探险
    10J:判断整除
    11A:篮球联赛
    10I:核电站
  • 原文地址:https://www.cnblogs.com/CHerish_OI/p/8340011.html
Copyright © 2020-2023  润新知