样例过不了求调
查看原帖
样例过不了求调
1356594
zhenghaoHoney楼主2025/2/6 11:48
#include<bits/stdc++.h>

using namespace std;

const int N=4e6+10;
long long a1[2100]={0},b1[2100]={0},c[N]={0},tmp,mx=-0x7fffffff; 
string tim(string A,string B){
	tmp=0;
	a1[2100]={0};
	b1[2100]={0};
	c[N]={0};
	mx=-0x7fffffff;
	for(long long i=0,j=A.size()-1;j>=0;i++,j--)
	{
		a1[i]=A[j]-'0';
	}
	for(long long i=0,j=B.size()-1;j>=0;i++,j--)
	{
		b1[i]=B[j]-'0';
	}	
	for(long long i=0;i<A.size();i++)
	{
		for(long long j=0;j<B.size()||tmp!=0;j++)
		{
			c[i+j]+=a1[i]*b1[j]+tmp;
			tmp=c[i+j]/10;
			c[i+j]%=10;
			mx=max(i+j,mx);
		}
	}
	while(c[mx]==0&&mx>0)
	{
		mx--;
	}
	string k;
	for(long long i=mx;i>=0;i--)
	{
		k+=to_string(c[i]);
	}
	return k;
}
int main(){
	string a,b;
	long long n=0,A=0,B=0; 
	cin>>a>>n;
	b=a;
	for(int i=1;i<n;i++)
	{
		a=tim(a,b);
	 } 
	 for(int i=0;i<a.size();i++)
	 {
	 	if(a[i]=='1'||a[i]=='3'||a[i]=='5'||a[i]=='7'||a[i]=='9') A++;
	 	else if(a[i]=='0'||a[i]=='2'||a[i]=='4'||a[i]=='6'||a[i]=='8') B++;
	 }
	 cout<<a<<A-B; 
	return 0;
}
2025/2/6 11:48
加载中...