输入
M,N的值。
输出
一个数表示爬行路线种数。
样例输入 Copy
1 14
样例输出 Copy
377
#include<bits/stdc++.h>
using namespace std;
int n,m;
string f1,f2;
string add(string &A ,string B)
{
int g=0;
if(A.size()<B.size())
{
string tmp=A;
A=B;
B=tmp;
}
string tmp(A.size()-B.size(),'0');
B=tmp+B;
for(int i=A.size()-1;i>=0;i--)
{
int t=(A[i]-'0')+(B[i]-'0')+g;
A[i]=t%10+'0';
g=t/10;
}
if(g!=0) A.insert(0,string(1,(char)g+'0'));
return A;
}
int main()
{
cin>>n>>m;
f1="1";
f2="2";
for(int i=3;i<=(m-n);i++)
{
string tmp=add(f1,f2);
f1=f2;
f2=tmp;
}
cout<<f2<<endl;
}