用个鬼的动态规划(Doge)

用个鬼的动态规划(Doge)

Papyrus在审判你 · 发布于 2023-10-19 · 浏览 942 回复 4
马上就上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 条

  1. Papyrus在审判你 #1 楼主 ·

    网上的解题思路:……

  2. 啊,你卡测试数据点它不香吗

  3. 没必要吧

  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;
    

    } 看我的多简单

发表回复