zoukankan      html  css  js  c++  java
  • codeforces 982A Row

    题意:

    一个01串是否合法满足以下两个要求:

    1.没有两个相邻的1;

    2.在满足第一个条件的情况下,不能再放下更多的1。

    判断一个给定的串是否合法。

    思路:

    最近cf的A怎么都这么坑啊。。。

    首先是判断长度为1的情况,为0是No,1就是Yes;

    然后判断长度大于1的,有2种一般情况,11,000

    2种特殊情况,开头两个0,结尾两个0。

    代码:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <algorithm>
     4 using namespace std;
     5 int main()
     6 {
     7     int n;
     8     char s[1005];
     9     scanf("%d%s",&n,s);
    10     bool f = 0;
    11     if (n == 1 && s[0] == '0')
    12     {
    13         f = 1;
    14     }
    15     for (int i = 0;i < n-1;i++) if(s[i] == '1' && s[i+1] == '1') f = 1;
    16     for (int i = 0;i <= n-2;i++)
    17     {
    18         if (i == 0)
    19         {
    20             if (s[i] == '0' && s[i+1] == '0') f = 1;
    21         }
    22         else if (i == n - 2)
    23         {
    24             if (s[i] == '0' && s[i+1] == '0') f = 1;
    25         }
    26         else
    27         {
    28             if (s[i] == '0' && s[i+1] == '0' && s[i+2] == '0') f = 1;
    29         }
    30     } 
    31     if (f) puts("No");
    32     else puts("Yes");
    33     return 0;
    34 }
  • 相关阅读:
    CF235D
    模拟赛 circle 题解
    平面图总结
    kd 树总结
    思维题
    luogu P1600 天天爱跑步
    UOJ #42. 【清华集训2014】Sum
    FZOJ 4344 连通性
    平衡树
    计蒜客 T3225 Darko 的生成树
  • 原文地址:https://www.cnblogs.com/kickit/p/9054229.html
Copyright © 2011-2022 走看看