关于本题中用cin.getline
查看原帖
关于本题中用cin.getline
716579
LYZHZ楼主2023/1/16 13:42

为什么在该题用cin.getline 只有70pts,而改成cin就能AC?

70pts:

#include<bits/stdc++.h>
using namespace std;
int q,lcs,sum=1,p;
char cs[3000010],c,x,tmp[3];
int main()
{
	cin>>q;
	cin.getline(tmp,2);
	cin.getline(cs+1,3000000);
	lcs=strlen(cs+1);
	lcs--;//由于洛谷上有个\r所以lcs--
	x=cs[1];
	for(int i=2;i<=lcs;i++)
	{
		if(cs[i]!=x) x=cs[i],sum++;
	}
	cout<<(sum+1)/2<<endl;
	for(int i=1;i<=q;i++)
	{
		cin>>p>>c;
		if(cs[p-1]==cs[p]&&cs[p-1]!=c) sum++;
		if(cs[p+1]==cs[p]&&cs[p+1]!=c) sum++;
		if(cs[p-1]!=cs[p]&&cs[p-1]==c) sum--;
		if(cs[p+1]!=cs[p]&&cs[p+1]==c) sum--;
		cs[p]=c;
		cout<<(sum+1)/2<<endl;
	}
 	return 0;
}
2023/1/16 13:42
加载中...