P2437 为何会RE
  • 板块题目总版
  • 楼主C202301
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/9 18:59
  • 上次更新2023/11/2 14:47:04
查看原帖
P2437 为何会RE
975726
C202301楼主2023/10/9 18:59
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
vector<int> v,u,ans,q;
string s[2001];
int main()
{
	int m,n;
	cin>>m>>n;
	m-=(m-1);
	n-=(m-1);
	s[1]="1";s[2]="1";
	for(int j=3;j<=n;j++)
	{
		int LEN_A=s[j-1].size();
		int LEN_B=s[j-2].size();
		int LEN_C=max(LEN_A,LEN_B);
		for(int i=0;i<s[j-1].size();i++)
		v.push_back(s[j-1][i]-'0');
		for(int k=0;k<s[j-2].size();k++)
		u.push_back(s[j-2][k]-'0');
		reverse(v.begin(),v.end());
		reverse(u.begin(),u.end());
		for(int l=0;l<=LEN_C;l++)
		{
			if(l>0)
			q[l]=(v[l]+u[l]+ans[l-1])%10;
			if(l==0)
			q[l]=(v[l]+u[l])%10;
			if(l>0)
			ans[l]=(v[l]+u[l]+ans[l-1])/10;
			if(l==0)
			ans[l]=(v[l]+u[l])/10;
		}
		while(ans[LEN_C]>0)
		LEN_C++;
		for(int y=LEN_C;y>=1;y--)
		s[j]+=q[y]+'0';
		v.clear();
		q.clear();
		u.clear();
		ans.clear();
	}
	cout<<s[n];
	return 0;
}
2023/10/9 18:59
加载中...