CodeForces 962B Students in Railway Carriage


          题意是输入n,a,b,表示有n个字符,a个A,b个B,字符串中'.'表示空位,A B不能相连,问最多能放多少个A和B。


AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int n,a,b;
char str[200005];

int main()
{
	scanf("%d%d%d",&n,&a,&b);
	scanf("%s",str);
	for(int i=0;i<n;i++){
		if(str[i] == '.'){
			if((a > b && str[i-1] != 'A' || str[i-1] == 'B' )&& a > 0){
				str[i] = 'A';a--;
			}
			else{
				if((b >= a && str[i-1] != 'B' || str[i-1] == 'A' )&& b > 0){
					str[i] = 'B';b--;
				}
			}
		}
	}
	int sum = 0;
	for(int i=0;i<n;i++){
		if(str[i] == 'A' || str[i] == 'B')sum++;
	}
	cout<<sum<<endl;
	return 0;
}



全部评论

相关推荐

程序员小白条:不是哥们,晚了差不多半年多才来找工作啊你得有更强的学历和技术,才能有这种资本啊,现在基本都得1-3年的吧,你这就三个月实习了,而且写的这么模糊
点赞 评论 收藏
分享
02-02 19:07
已编辑
河南师范大学 算法工程师
用微笑面对困难:一般5年老工都不太敢写“精通python”至少要达到noi的级别 兄弟你要是真精通大厂秒进的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务