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

时间:2023-03-08 23:33:05
bzoj1800: [Ahoi2009]fly 飞行棋(乱搞)

1800: [Ahoi2009]fly 飞行棋

题目:传送门

题解:

   大水题,早上签个到

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

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

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

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

   然后...一A

代码:

 #include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
int n,ans,x,bzc;
int a[];
int main()
{
scanf("%d",&n);
a[]=;ans=;
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
a[i]=a[i-]+a[i];
}
scanf("%d",&x);
a[]=a[n]+x;bzc=a[]/;
if(a[]%==){printf("0\n");return ;}
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
for(int k=j+;k<=n;k++)
for(int y=k+;y<=n;y++)
if(abs(a[k]-a[i])==bzc && abs(a[y]-a[j])==bzc)
ans++;
printf("%d\n",ans);
return ;
}