• codeforces 957 A. Tritonic Iridescence


    题意:

    给出一个字符串,要求任意两个相同的字母不能相同,问这个字符串是否能有两种或者两种以上的表现形式。

    思路:

    简单判断一下:

    1.问号在端点;

    2.连续两个问号或者以上;

    3.一个问号两端的字母是相同的。

    不过坑点就是给出的字符串没有问号或者给出的字符串本身就是不满足条件的。

    代码:

     1 #include <stdio.h>
     2 #include <string>
     3 #include <iostream>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     string s;
     9     
    10     int n;
    11     
    12     cin >> n;
    13     
    14     cin >> s;
    15     
    16     int sz = s.size();
    17     
    18     bool f = 0;
    19     
    20     int cnt = 0;
    21     
    22     for (int i = 0;i < n;i++)
    23     {
    24         if (s[i] == '?') cnt++;
    25         
    26         if (i > 0 && s[i] == s[i-1] && s[i] != '?')
    27         {
    28             f = 1;
    29             break;
    30         }
    31     }
    32     
    33     if (f || cnt == 0)
    34     {
    35         printf("no
    ");
    36         
    37         return 0;
    38     }
    39     
    40     bool ff = 0;
    41     
    42     for (int i = 0;i < n;i++)
    43     {
    44         if (i == 0 && s[i] == '?') ff = 1;
    45         if (i == n - 1 && s[i] == '?') ff = 1;
    46         if (i > 0 && s[i] == '?' && s[i+1] == s[i-1] && s[i+1] != '?') ff = 1;
    47         if (i > 0 && s[i] == '?' && s[i] == s[i-1]) ff = 1;
    48     }
    49     
    50     if (ff) printf("yes");
    51     else puts("no");
    52     
    53     return 0;
    54 }
  • 相关阅读:
    记忆力训练今天早上有了点小进步
    刻意练习
    12.12周计划
    12.6周总结
    The Power of Reading Insights
    Storytelling with Data
    nexus私服和快照正式版本etc
    springboot启动流程分析
    容器启动getBean的流程分析
    canal简介
  • 原文地址:https://www.cnblogs.com/kickit/p/8809591.html
Copyright © 2020-2023  润新知