关注
#include <iostream>
#include <cstdio>
using namespace std;
char ch[300010];
int n,m;
int Cal(int x,char c)
{
x-=1;
if(c == '.')
//点
{
if(ch[x]=='.')
{//点换点
ch[x] = c;
return 0;
}
else
{//点换字母
int rt = 0;
if(x-1>=0 && ch[x-1]=='.')
rt += 1;
if(x+1<n && ch[x+1]=='.')
rt += 1;
ch[x] = c;
return rt;
}
}
else if(c != '.')
{//字母
if(ch[x]!='.')
{//字母换字母无意义
ch[x] = c;
return 0;
}
else if(ch[x]=='.')
{//字母换点 左边有点少1 右边有点再少1
int rt = 0;
if(x-1>=0 && ch[x-1]=='.')
rt -= 1;
if(x+1<n && ch[x+1]=='.')
rt -=1;
ch[x] = c;
return rt;
}
}
}
int main()
{
while(cin >>n >> m)
{
getchar();
int count = 0;
gets(ch);
for(int i=0;i<n;i++)
{
if(ch[i]=='.'&&ch[i+1]=='.')
{
count +=1;
}
}
//cout << count << endl;
int x;
char ct;
for(int i=0;i<m;i++)
{
scanf("%d %c",&x,&ct);
//printf("%d %c\n",x,ct);
count += Cal(x,ct);
cout << count << endl;
}
}
}
就是给你一个字符串,问你替换其中某个字符后,需要几次修改才没有连续的点点...
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 帮我看看,领导说这话什么意思? #
15328次浏览 87人参与
# 牛友的志愿填报指南 #
33456次浏览 178人参与
# 快手技术岗信息交流阵地 #
124次浏览 0人参与
# 你的mentor是什么样的人? #
12178次浏览 97人参与
# 毕业租房也有小确幸 #
140232次浏览 4491人参与
# 怎么给家人解释你的工作? #
7388次浏览 56人参与
# 得物app工作体验 #
27103次浏览 61人参与
# 租房前辈的忠告 #
259104次浏览 7114人参与
# 国企还是互联网,你怎么选? #
167516次浏览 1190人参与
# 求职中的尴尬瞬间 #
1555次浏览 24人参与
# 小红书求职进展汇总 #
119794次浏览 951人参与
# 薪资爆料 #
199158次浏览 1510人参与
# 校招泡的最久的公司是哪家? #
10055次浏览 65人参与
# 求职低谷期你是怎么度过的 #
10015次浏览 199人参与
# 26届秋招公司红黑榜 #
23975次浏览 86人参与
# 从哪些方向判断这个offer值不值得去? #
12606次浏览 155人参与
# 度小满求职进展汇总 #
11888次浏览 64人参与
# 你觉得mentor喜欢什么样的实习生 #
14770次浏览 391人参与
# 牛客树洞,我想对你说 #
4175次浏览 61人参与
# 还记得你第一次面试吗? #
339839次浏览 3876人参与
# 机械人的秋招小目标 #
22577次浏览 217人参与