zoukankan      html  css  js  c++  java
  • [AHOI2009][BZOJ1800] fly 飞行棋|枚举|暴力

    1800: [Ahoi2009]fly 飞行棋

    Time Limit: 10 Sec  Memory Limit: 64 MB
    Submit: 1039  Solved: 864
    [Submit][Status][Discuss]

    Description

    给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形。

    Input

    第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度

    Output

    所构成不重复矩形的个数

    Sample Input

    8
    1
    2
    2
    3
    1
    1
    3
    3


    Sample Output

    3

    HINT

    N<= 20

    Source

     
     
    良心数据范围分分钟变水题……
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    int n,ans,s[25];
    inline int read()
    {
        int a=0,f=1; char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();}
        while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();}
        return a*f;
    }
    int main()
    {
        n=read();
        for (int i=1;i<=n;i++)
        {
            int x=read();
            s[i]=s[i-1]+x;
        }
        for (int i=1;i<=n;i++)
            for (int j=i+1;j<=n;j++)
                for (int k=j+1;k<=n;k++)
                    for (int l=k+1;l<=n;l++)
                        if (s[j]-s[i]==s[l]-s[k]&&s[n]-s[l]+s[i]==s[k]-s[j]) ans++;
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    新型肺炎实时动态
    大学排名数据爬取
    python BeautifulSoup基本用法
    爬虫爬取
    人口普查系统--信息查找
    人口普查系统--信息删除
    人口普查系统--信息修改
    人口普查系统--信息登记
    期中考试题目
    期中考试前准备--数据库查找代码
  • 原文地址:https://www.cnblogs.com/ws-fqk/p/4737366.html
Copyright © 2011-2022 走看看