题目链接:CF35C
递推可以秒杀此题
我们先从赢一盘开始推:
- 赢一把:至少两人;
- 赢两把:至少三人
- 赢三把:至少5人,也就是一把人数与两把人数之和;
- 赢四把:至少8人,也就是两把人数与三把人数之和;
懂了吧?没错:斐波那契数列
规律自然是:f[n]=f[n-1]+f[n-2]
AC code
#include <bits/stdc++.h>
using namespace std ;
long long n,ans=1,x=1,y=2,z=x+y;
int main(){
cin>>n;
while(z<=n){
x=y;y=z;z=x+y;
ans++;
}
cout<<ans<<endl;
}
最后:十年OI一场空,不开long long见祖宗