Description:

  非 * 号的地方可以放A或B,不能AA或BB,一共有a个A,b个B,问你最多放几个

Solution:
  1.模拟一下,找连续空位长度,如果长度为奇数,则我可以有一个位置放任意一个,否则摆放消耗一定,最后放完了判断一下是不是还有剩下的,有剩下的就都放到任意位置
  Code

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 2e5 + 2e2;
char s[maxn];
int main()
{
int n,a,b;
int numa,numb;
while(~scanf("%d%d%d",&n,&a,&b))
{
numa = a;
numb = b;
scanf("%s",s);
s[n] = '*';
s[n+1]='\0';
int last = -1;
int use = 0;
for(int i = 0;i < n + 1;++i)
{
if(s[i] == '*')
{
int len = i - last - 1;
if(len & 1)use++;
a -= len / 2;
b -= len / 2;
last = i;
}
}
int ret = 0;
if(a <= 0)
{
ret += numa;
a = 0;
}
else ret += numa - a;
if(b <= 0)
{
ret += numb;
b = 0;
}
else ret += numb - b;
ret += min(a+b,use);
printf("%d\n",ret);
}
return 0;
}

  2.小贪心,按位置模拟,能放的时候就先放个数最多,直到结束

  code

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 2e5 + 2e2;
char s[maxn];
int main()
{
    int n,a,b;
    while(~scanf("%d%d%d",&n,&a,&b))
    {
        scanf("%s",s);
        int ret = 0;         for(int i = 0;i < n;++i)
        {
            if(a < b)
                swap(a,b);
            while(s[i] == '.' && i < n)
            {
                if(a > 0)ret++;
                a--;
                swap(a,b);
                i++;
            }
        }
        printf("%d\n",ret);
    }
    return 0;
}

最新文章

  1. JQuery easyui Datagrid 分页事件
  2. angularJS自定义指令模板替换
  3. 定时器 NSTimer 和 CADisplayLink
  4. Cisco SDM
  5. python中的commands模块
  6. sublime编辑器怎样高速输入PHP头部版本号声明
  7. 跟着刚哥梳理java知识点——泛型(十三)
  8. Android面试题目2
  9. css变化代码2
  10. Python中模块之xml的讲解
  11. Jenkins_安装
  12. 我发起了一个 ILBC 的 子项目 ILBC Studio
  13. 通俗易懂--SVM算法讲解(算法+案例)
  14. ACM10.14题解
  15. BZOJ2152[国家集训队]聪聪可可——点分治
  16. API验证
  17. CentOS 6.6下目录结构及其主要作用
  18. python学习笔记(excel+unittest)
  19. bzoj 1251 裸splay
  20. Android中的动态字符串的处理

热门文章

  1. Python学习—基础篇之基本数据类型(二)
  2. python 多进程/多线程/协程 同步异步
  3. Floyd-Warshall算法计算有向图的传递闭包
  4. python字符串之format格式化函数
  5. Swift - 修改导航栏“返回”按钮文字和图标 /手势冲突解决/响应范围
  6. 查看 设置mysql时区
  7. hbase-bloom filter
  8. laraval migration 新增字段或者修改字段的方法
  9. 记一次mac下使用mamp集成环境配置lumen项目自定义域名遇到的花样问题
  10. yii2.0 邮件发送如何配置