码迷,mamicode.com
首页 > 其他好文 > 详细

1800: [Ahoi2009]fly 飞行棋

时间:2016-03-14 23:09:37      阅读:432      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 int sum[50],n,ans;
 5 int main()
 6 {
 7     scanf("%d",&n);
 8     for(int i=1;i<=n;i++)
 9       scanf("%d",&sum[i]);
10     for(int i=2;i<=n;i++)
11       sum[i]+=sum[i-1];
12     for(int i=n+1;i<=2*n;i++)
13       sum[i]=sum[n]+sum[i-n];
14     for(int i=1;i<=n;i++)
15       for(int j=i+1;j<n+i;j++)
16         for(int k=j+1;k<n+i;k++)
17           for(int l=k+1;l<n+i;l++)
18             if(sum[j]-sum[i]==sum[l]-sum[k]&&sum[k]-sum[j]==sum[n+i]-sum[l])
19               ans++;
20     printf("%d\n",ans/4);
21     return 0;
22 }

n很小 直接四重循环枚举,看弧长是否相等,弧长相等弦长相等,两组边互相相等的四边形是平行四边形,圆内接平行四边形一定是矩形。

1800: [Ahoi2009]fly 飞行棋

标签:

原文地址:http://www.cnblogs.com/xydddd/p/5277563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!