为什么洛谷IDE里面都能过结果提交0分啊
查看原帖
为什么洛谷IDE里面都能过结果提交0分啊
563251
Cryflmind楼主2023/9/25 22:34

代码:

#include<bits/stdc++.h>
using namespace std;
struct Bignum{
	int lens=0,nums[5100];
	Bignum(string x){
		memset(nums,0,sizeof(nums));
		lens=x.length();
		for(int i=1;lens>=1;lens--,++i)
		{
			nums[i] = x[lens-1]-'0';
		}
		lens=x.length();
	}
	int &operator[](int i)
	{
		return nums[i];
	}
	void flat(int end)
	{
		lens=end;
		for(int i=1;i<=lens;i++)
		{
			nums[i+1]+=nums[i]/10,nums[i]%=10;
		}
		for(;!nums[lens];)
		{
			lens--;
		}
	}
	void print()
	{
		for(int i=max(lens,1);i>=1;i--)
		{
			cout<<nums[i];
		}
	}
};
Bignum operator+(Bignum a,Bignum b)
{
	Bignum c("0");
	int lens=max(a.lens,b.lens);
	for(int i=1;i<=lens;i++)
	{
		c[i]+=a[i]+b[i];
	}
	c.flat(lens+1);
	return c;
}
Bignum operator*(Bignum a,Bignum b)
{
	Bignum c("0");
	c.lens=a.lens+b.lens;
	for(int i=1;i<=a.lens;i++)
	{
		for(int j=1;j<=b.lens;j++)
		{
			c[i+j-1]+=a[i]*b[j];
		}
	}
	c.flat(c.lens+1);
	for(;!c.nums[c.lens];)
	{
		c.lens--;
	}
	return c;
}
int main()
{
	string ta,tb;
	getline(cin,ta);
	getline(cin,tb);
	Bignum a(ta),b(tb),sumsans("0");
	sumsans=a*b;
	sumsans.print();
	return 0;
}

怎么测都对为啥提交全部WA啊

2023/9/25 22:34
加载中...