zoukankan      html  css  js  c++  java
  • bzoj 1800: [Ahoi2009]fly 飞行棋

    找圆就是矩形对角线(不知道本蒟蒻的垃圾大暴力为什么不对。。)

     1 /*#include<bits/stdc++.h>
     2 #define N 200005
     3 #define LL long long
     4 #define inf 0x3f3f3f3f
     5 #define ls tr[x][0]
     6 #define rs tr[x][1]
     7 using namespace std;
     8 inline int ra()
     9 {
    10     int x=0,f=1; char ch=getchar();
    11     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
    12     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
    13     return x*f;
    14 }
    15 int a[50];
    16 int main()
    17 {
    18     int n=ra(),tot=0,ans=0;
    19     for (int i=1; i<=n; i++) a[i]=ra(),tot+=a[i];
    20     if (tot%2) {
    21         cout<<"0";
    22         return 0;
    23     }
    24     for (int i=n+1; i<=2*n; i++) a[i]=a[i-n];
    25     for (int k=1; k<n; k++)
    26         for (int i=1; i<=n; i++)
    27         {
    28             int sum=0;
    29             for (int j=i; j<=i+k-1; j++) sum+=a[j];
    30             if (2*sum>=tot || (tot-2*sum)%2) break;  //break改成continue就AC2333 
    31             int orz=(tot-2*sum)/2,sum1=0;
    32             for (int j=i+k; j<=2*n; j++)
    33             { 
    34                 sum1+=a[j];
    35                 if (sum1==orz) 
    36                 {
    37                     int sum2=0;
    38                     for (int l=j+1; l<=2*n; l++)
    39                     {
    40                         sum2+=a[l];
    41                         if (sum2==sum) ans++;
    42                         if (sum2>sum) break;
    43                     }
    44                 }
    45                 if (sum1>orz) break;
    46             }
    47         //    cout<<ans<<"!!";system("pause");
    48         }
    49     cout<<ans/4;
    50     return 0;
    51 }*/
    52 #include<bits/stdc++.h>
    53 #define N 200005
    54 #define LL long long
    55 #define inf 0x3f3f3f3f
    56 #define ls tr[x][0]
    57 #define rs tr[x][1]
    58 using namespace std;
    59 inline int ra()
    60 {
    61     int x=0,f=1; char ch=getchar();
    62     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
    63     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
    64     return x*f;
    65 }
    66 int a[50];
    67 int main()
    68 {
    69     int n=ra(),tot=0,ans=0;
    70     for (int i=1; i<=n; i++) a[i]=ra(),tot+=a[i];
    71     if (tot%2) {
    72         cout<<"0";
    73         return 0;
    74     }
    75     for (int i=1; i<=n; i++)
    76     {
    77         int sum=0;
    78         for (int j=i+1; j<=n; j++)
    79         {
    80             sum+=a[j];
    81             if (sum==tot/2) ans++;
    82         }
    83     }
    84     cout<<(ans*(ans-1)>>1);
    85     return 0;
    86 }
  • 相关阅读:
    操作串口通信类(IO.Ports)SerialPort
    TreeView的数据源绑定—采用sqlite作为数据源,实现对treeview控件进行增删改查
    (Easy)打开指定的文件
    TreeView的数据源绑定—采用XML作为数据源,实现对treeview进行增删改查,之后回写XML文档
    linux sort,uniq,cut,wc命令详解
    轻快的VIM(六):恢复
    Python 常用模块大全(整理)
    定位oracle实例的当前跟踪文件名及路径
    查看session io
    查看pga使用
  • 原文地址:https://www.cnblogs.com/ccd2333/p/6482438.html
Copyright © 2011-2022 走看看