马上就上1000了,打算做一下这道题,
网上说要用动态规划,
我(不屑):用你M~
于是便用了递归,轻轻松松过了,真怀疑网上的人没有脑子……
呃,就这么多,
代码及思路拿走不谢!~
函数递归部分代码:
int STEP(int floor)
{
if(floor==1)
return 1;
if(floor==2)
return 2;
if(floor==3)
return 4;
else
return STEP(floor-1)+STEP(floor-2)+STEP(floor-3);
}
主函数部分代码:
int main (){
int floor;
cin>>floor;
cout<<STEP(floor)%100000007;
return 0;
}
完整代码:(就知道你会CV)
#include <bits/stdc++.h>
using namespace std;
int STEP(int floor)
{
if(floor==1)
return 1;
if(floor==2)
return 2;
if(floor==3)
return 4;
else
return STEP(floor-1)+STEP(floor-2)+STEP(floor-3);
}
int main (){
int floor;
cin>>floor;
cout<<STEP(floor)%100000007;
return 0;
}
别的我也不说了,
下课集队,解散!
全部回复 共 4 条
-
网上的解题思路:……

-
啊,你卡测试数据点它不香吗
-
没必要吧
-
include <bits/stdc++.h>
using namespace std;
int main() {
unsigned long long F[75] = {0, 1, 2, 4}; for (int i = 4; i <= 73; i++) F[i] = F[i - 3] + F[i - 2] + F[i - 1]; for (int n; scanf("%d", &n) != EOF;) printf("%llu\n", F[n]); return 0;} 看我的多简单
发表回复
登录后即可回复本帖,与出题人和同学一起讨论。
登录