BZOJ 1800: [Ahoi2009]fly 飞行棋( 枚举 )
生活随笔
收集整理的這篇文章主要介紹了
BZOJ 1800: [Ahoi2009]fly 飞行棋( 枚举 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
O(N2)算出有x條直徑然后答案就是x(x-1)/2...這個數據范圍是鬧哪樣!?
------------------------------------------------------------------------------------------
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 29;int N, w[maxn];int main() {scanf("%d", &N);w[0] = 0;for(int i = 1; i <= N; i++) {scanf("%d", w + i);w[i] += w[i - 1];}if(w[N] & 1) {puts("0"); return 0;}int ans = 0;for(int i = 1; i <= N; i++)for(int j = i + 1; j <= N; j++)if(w[j] - w[i] == (w[N] >> 1)) ans++;printf("%d\n", ans * (ans - 1) >> 1);return 0;}------------------------------------------------------------------------------------------
?
1800: [Ahoi2009]fly 飛行棋
Time Limit:?10 Sec??Memory Limit:?64 MBSubmit:?1089??Solved:?902
[Submit][Status][Discuss]
Description
給出圓周上的若干個點,已知點與點之間的弧長,其值均為正整數,并依圓周順序排列。 請找出這些點中有沒有可以圍成矩形的,并希望在最短時間內找出所有不重復矩形。Input
第一行為正整數N,表示點的個數,接下來N行分別為這N個點所分割的各個圓弧長度Output
所構成不重復矩形的個數Sample Input
81
2
2
3
1
1
3
3
Sample Output
3HINT
N<= 20
Source
?
轉載于:https://www.cnblogs.com/JSZX11556/p/4931878.html
總結
以上是生活随笔為你收集整理的BZOJ 1800: [Ahoi2009]fly 飞行棋( 枚举 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大道至简第五章随笔
- 下一篇: php转换图片为.bin文件