1.
ctrl+/ 注释或者取消注释
代码块+tab 向右缩进
代码块+shift+tab 向左缩进
2.动态规划入门案例
// #include<bits/stdc++.h>
// using namespace std;
// int fbnq(int n){
// if(n==1)return 1;
// if(n==2)return 2;
// return fbnq(n-1)+fbnq(n-2);
// }
// int main(){
// int n;
// scanf("%d",&n);
// printf("%d",fbnq(n));
// return 0;
// }
// #include<bits/stdc++.h>
// using namespace std;
// const int N=100;
// int men[N];//记忆数组
// int fbnq(int n){
// if(men[n])return men[n];
// int sum=0;
// if(n==1) sum=1;
// else if(n==2) sum=2;
// else sum=fbnq(n-1)+fbnq(n-2);
// men[n]=sum;
// return sum;
// }
// int main(){
// int n;
// scanf("%d",&n);
// printf("%d",fbnq(n));
// return 0;
// }
// #include<bits/stdc++.h>
// using namespace std;
// const int N=100;
// int f[N];
// int main(){
// int n;
// f[1]=1,f[2]=2;
// scanf("%d",&n);
// if(n==1||n==2){
// printf("%d",f[n]);
// return 0;
// }
// //用空间换时间
// for(int i=3;i<=n;i++){
// f[i]=f[i-1]+f[i-2];//dfs的状态转移方程 1:1
// }
// printf("%d",f[n]);
// return 0;
// }
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
if(n==1||n==2){
printf("%d",n);
return 0;
}
int newf,top1=1,top2=2;
for(int i=3;i<=n;i++){
newf=top2+top1;
top1=top2;
top2=newf;//类似于滚动数组
}
printf("%d",newf);
return 0;
}