zoukankan      html  css  js  c++  java
  • [SRM] 08 A

    SRM:机房内部竞赛,哼唧。

    描述

    给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T。

    这里的出现定义为存在一串下标 a_1,a_2,...,a_m,满足 a_1<a_2<...<a_m 且 S_{a_i}=T_i

    输入格式

    一行,一个 01 串

    输出格式

    一行,字母 Y 表示存在,N 表示不存在

    样例输入 1

    000

    样例输出 1

    N

    样例输入 2

    010

    样例输出 2

    Y

    数据范围与约定

    • 设串 S 的长度为 n,2leq nleq 5000
    • 数据为随机生成

    样例解释

    第一个样例中,"000"出现了一次([1+2+3]),"00"出现了三次([1+2],[2+3],[1+3]),"0"出现了三次([1],[2],[3])

    第二个样例中,"0"出现了两次

    分析

    我不是在刷牙的时候想出来的。

    经过我漫长的Steam之旅,我得到以下结论:这样的一个01串,当以下两种情况发生时很大几率可以符合题目要求:

    A. 含有至少一个纯区间(0000000...或者1111111...)长度为2

    B. 含有至少两个同内容的长度为一的纯区间

    解释:纯区间就是,,,000011110000000中有三个纯区间,分别是0000 1111 0000000。

    代码

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #define maxn 10086
     5 using namespace std;
     6 
     7 char ctr = 0;
     8 char str[maxn];
     9 int StrCou[3][maxn]; // StrCou[mode][len]
    10 int JStringCou,OStringCou,StringCou,ACou,BCou,Cou;
    11 int len;
    12 
    13 int main(){
    14     scanf("%s",str);
    15     len = strlen(str);
    16     
    17     ACou = 1;
    18     StringCou = 1;
    19     Cou = 1;
    20     
    21     for(int i = 1;i < len;i++){
    22         if(str[i] != str[i-1]){
    23             StrCou[StringCou%2][Cou]++;
    24             StrCou[2][Cou]++; 
    25             Cou = 0;
    26             
    27             StringCou++;
    28         }
    29         
    30         Cou++;
    31         
    32         if(StringCou%2) ACou++;
    33         else BCou++;
    34     }
    35     
    36     StrCou[StringCou%2][Cou]++;
    37     StrCou[2][Cou]++;
    38     Cou = 0;
    39     
    40     bool flag = false;
    41     
    42     if(StrCou[2][2]) flag = true;
    43     if(StrCou[0][1] >= 2 || StrCou[1][1] >= 2) flag = true;
    44     
    45     if(flag) printf("Y");
    46     else printf("N");
    47     
    48     return 0;
    49 }
    推荐不看
    转载请注明出处 -- 如有意见欢迎评论
  • 相关阅读:
    mysq 中 information_schema 库
    python mysql创建表
    Mysql 连接池
    mysql 事务、游标
    python 操作数据库1--连接、执行sql语句
    搭建自动化脚本运行环境
    快速定位XPATH
    Fiddler--Filters
    Fiddler--Composer
    Fiddler--AutoResponder
  • 原文地址:https://www.cnblogs.com/Chorolop/p/7242659.html
Copyright © 2011-2022 走看看