求助!为什么一直编译失败?
  • 板块学术版
  • 楼主uid_310801
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/11/2 21:40
  • 上次更新2023/11/5 09:10:17
查看原帖
求助!为什么一直编译失败?
310801
uid_310801楼主2020/11/2 21:40

P6553

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#define MAXN 1000010
using namespace std;
const long long mod=99824353;
long long q4[MAXN]={1,4},q5[MAXN]={1,5};
int n,m,s1,s4,s5,l,r;
char az[MAXN],a[MAXN],s[MAXN];
int main()
{
	cin>>az;
	n=strlen(az);
	for(int i=0;i<n;i++)
	{
		a[i+1]=az[i];
		if(az[i]=='1')	s1++;
		else if(az[i]=='4')	s4++;
		else s5++;
	}
	for(long long i=1;i<=MAXN;i++)
	{
		q4[i]=q4[i-1]*4%mod;
		q5[i]=q5[i-1]*5%mod;
	}
	scanf("%d",&m);
	while(m--)
	{
		scanf("%d %d",&l,&r);
		cin>>s;
		int len=r-l+1;
		for(int i=l;i<=r;i++)
		{
			if(a[i]=='1')	s1--;
			if(a[i]=='4')	s4--;
			if(a[i]=='5')	s5--;
		}
		for(int i=0;i<len;i++)
		{
			if(s[i]=='1')	s1++;
			if(s[i]=='4')	s4++;
			if(s[i]=='5')	s5++;
			a[l+i]=s[i];
		}
		printf("%d %d %lld\n",s1,s1+s4*4+s5*5,q4[s4]*q5[s5]%mod);
	}
}
2020/11/2 21:40
加载中...