蓝桥杯C组-填充-贪心

点击此处查看原题​​​​​​​

*思路:首先要求 00 11 尽可能的多,所以尽可能多的多配对,配对只在i , i + 1之间发生,所以只需要关注str[i] 和 str[i + 1]即可,如果str[i] == str[i + 1] ,那么一定配对,res ++ , 否则说明只有 str[i] == 0 && str[i + 1] == 1 或者 str[i] == 1 && str[i + 1] == 0 两种情况,对于这种情况直接跳过,如果str[i] 或者 str[i + 1]中的某一个是?的话,那么一定可以和下一个字符匹配,所以res++,如果是??,那么随便是 11 和 00 都可以,不必担心后面的数,假如??00  = 2 , ?? 01 = 1 ,?? 11 = 2,??10 = 1 ,说明当前的 str[i] 和 str[i + 1]无关的。所以只需分 str[i] == str[i +1] 和 str[i] 或str[i + 1] 中有一个为?即可 

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1e6 + 10;

int main()
{
    string str;
    cin >> str;
    
    int res = 0;
    for(int i = 0 ; i < str.size() - 1 ;i ++)
    {
        if(str[i] == str[i + 1])
        {
            res ++;
            i ++;
        }
        else if(str[i + 1] == '?' || str[i] == '?')
        {
            res ++;
            i ++;
        }
    }
    cout << res << endl;
    
    return 0;
}

相关推荐

  1. C-填充-贪心

    2024-01-17 05:32:03       54 阅读
  2. 贪心+

    2024-01-17 05:32:03       65 阅读
  3. 2022c求和

    2024-01-17 05:32:03       70 阅读
  4. 第十四届省赛大学B填空题(c++)

    2024-01-17 05:32:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 05:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 05:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 05:32:03       82 阅读
  4. Python语言-面向对象

    2024-01-17 05:32:03       91 阅读

热门阅读

  1. Oracle相关问题及答案(2024)

    2024-01-17 05:32:03       29 阅读
  2. 提升问题检索的能力

    2024-01-17 05:32:03       55 阅读
  3. Go中更安全的枚举

    2024-01-17 05:32:03       55 阅读
  4. 学习python仅此一篇就够了(封装,继承,多态)

    2024-01-17 05:32:03       49 阅读
  5. C++ 类、结构体

    2024-01-17 05:32:03       49 阅读
  6. 文件包含介绍

    2024-01-17 05:32:03       55 阅读
  7. Nginx解析域名到指定端口

    2024-01-17 05:32:03       46 阅读
  8. 24校招,得物测试开发工程师一面

    2024-01-17 05:32:03       56 阅读
  9. sklearn快速实现python机器学习算法

    2024-01-17 05:32:03       45 阅读
  10. TCP服务器和客户端的创建步骤

    2024-01-17 05:32:03       51 阅读