zoukankan      html  css  js  c++  java
  • POJ 1063

    题目大意:本题就是给出一个循环队列,队列中的元素只能是1和0,现在我们有两种旋转方法,就是连选三个我可以选择顺时针旋转或者是逆时针旋转,当然,旋转之后的结果我们很容易就知道了就是把一个元素移动两格,中间的元素位置不变。最后要求最后我是否有办法使所有的1在一起,所有的0在一起.

     1 #include<cmath>
     2 #include<cstdio>
     3 int main()
     4 {
     5     int i,k,t,r,res,cnt,ans;
     6     scanf("%d",&t);
     7     while(t--)
     8     {
     9         scanf("%d",&k);
    10         res=cnt=0;
    11         ans=k%2;
    12         for(i=0;i<k;i++)
    13         {
    14             scanf("%d",&r);
    15             if(ans)
    16                 continue;//不可直接break,还需要完成输入 
    17             if(r==0)
    18             {
    19                 if(i%2)
    20                     cnt++;
    21                 else
    22                     res++;
    23             }
    24         }
    25         if(ans||abs(cnt-res)<=1)
    26             printf("YES\n");
    27         else
    28             printf("NO\n");
    29     }
    30     return 0;
    31 }
  • 相关阅读:
    异常处理
    组合,封装
    自我介绍
    27python更多实例
    28python类代码编写细节
    29python运算符重载
    30python 类的设计
    31python类的高级主题
    32python异常基础
    33python异常编码细节
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2848394.html
Copyright © 2011-2022 走看看