3 条题解

  • 6
    @ 2023-5-25 17:57:03

    鲜花

    因为陈煜轩太强了,没有写普通的代码。就让我这个蒟蒻来一篇吧。

    思路

    明显的发现,第一阶台阶有一种到达方法,第二阶台阶有两种到达方法。那么第三阶怎么到呢?就是第一阶的方法加上第二阶的方法。推出转移方程:

    fi=fi1+fi2f_i=f_{i-1}+f_{i-2}

    这样做就行了咩。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    int n;
    int f[100010];
    main(){
    	ios::sync_with_stdio(false);
    	cin.tie(0);
    	cout.tie(0);
    	cin>>n;
    	f[1]=1;
    	f[2]=2;
    	for(int i=3;i<=n;i++){
    		f[i]=f[i-1]+f[i-2];
    	}
    	cout<<f[n];
    	return 0;
    }
    

    信息

    ID
    615
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    197
    已通过
    59
    上传者