0分求调
  • 板块P2437 蜜蜂路线
  • 楼主_QrSn_
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/1/21 21:17
  • 上次更新2024/1/22 09:14:28
查看原帖
0分求调
511253
_QrSn_楼主2024/1/21 21:17
#include<bits/stdc++.h>
using namespace std;
string add(string a,string b)
{
	struct number
    {
	    int lengs;
	    int arr[1005];
	    number()
	    {
		    lengs=0;
		    memset(arr,0,sizeof(arr));
	    }
    };
	number x,y;
	bool flag;
	if(a.size()<b.size())swap(a,b);
    for(int i=0;i<a.size();i++)x.arr[a.size()-i-1]=a[i]-'0';
    for(int i=0;i<b.size();i++)y.arr[b.size()-i-1]=b[i]-'0';
    x.lengs=a.size();
    y.lengs=b.size();
    for(int i=0;i<a.size();i++)
    {
    	x.arr[i]=x.arr[i]+y.arr[i];
	}
	for(int i=0;i<a.size();i++)
	{
		if(x.arr[i]>=10)
		{
			x.arr[i+1]++;
			x.arr[i]%=10;
			if(i==a.size()-1)flag=1;
		}
	}
	int ans=a.size();
	if(flag==1)ans++;
	string s;
	for(int i=ans-1;i>=0;i--)
	{
		s+=char(x.arr[i]+48);
		//cout<<char(x.arr[i]+48)<<endl;
	}
	return s;
}
string ans[1500]={"0","1","1"};
int m,n;
int main(){
	cin>>m>>n;
	for(int i=3;i<=n-m+1;i++)
    {
    	ans[i]=add(ans[i-1],ans[i-2]);
	}
	cout<<ans[n-m+1];
	return 0;
}

2024/1/21 21:17
加载中...