国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【BZOJ 1800】【AHOI 2009】飛行棋

2019-11-08 02:38:26
字體:
來源:轉載
供稿:網友

Description

給出圓周上的若干個點,已知點與點之間的弧長,其值均為正整數,并依圓周順序排列。 請找出這些點中有沒有可以圍成矩形的,并希望在最短時間內找出所有不重復矩形。

Input

第一行為正整數N,表示點的個數,接下來N行分別為這N個點所分割的各個圓弧長度

Output

所構成不重復矩形的個數

Sample Input

8 1 2 2 3 1 1 3 3

Sample Output

3

HINT

N<= 20 這里寫圖片描述

題解:

非常簡單。。。 只需枚舉圓周上的四個點即可。

代碼

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,ans;int a[30],s[30];int main(){ scanf("%d",&n); memset(s,0,sizeof(0)); for(int i = 1;i <= n;i++) { scanf("%d",&a[i]); s[i] = s[i-1] + a[i]; } for(int i = 0;i <= n-4;i++) for(int j = i+1;j <= n-3;j++) for(int k = j+1;k <= n-2;k++) for(int l = k+1;l <= n-1;l++) if(s[k]-s[j] == s[i] + s[n]-s[l] && s[j]-s[i] == s[l]-s[k]) ans ++;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴川市| 灵武市| 惠安县| 铁岭市| 大连市| 惠来县| 高雄县| 垫江县| 涪陵区| 华阴市| 徐闻县| 保靖县| 隆尧县| 永川市| 东兴市| 石家庄市| 漳州市| 平阴县| 灵川县| 平塘县| 祁阳县| 巴彦淖尔市| 娱乐| 疏勒县| 佛教| 靖宇县| 黄大仙区| 安泽县| 灵寿县| 吉木萨尔县| 阿合奇县| 那坡县| 克什克腾旗| 牡丹江市| 高雄市| 门源| 老河口市| 新乡市| 云浮市| 辉南县| 青龙|