p2437 40pts 求调
  • 板块题目总版
  • 楼主kux1145
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/23 10:27
  • 上次更新2025/1/23 13:21:41
查看原帖
p2437 40pts 求调
873614
kux1145楼主2025/1/23 10:27
#include <bits/stdc++.h>
using namespace std;
int n,m;
long long dat[1010];
long long dfs(int c){
	dat[m]=0;dat[m-1]=1;dat[m-2]=2;
	if(c==m)return 0;
	else if(c==m-1)return 1;
	else if(c==m-2)return 2;
	else{
		if(dat[c+1]!=0&&dat[c+2]!=0)return dat[c+1]+dat[c+2];
		else{
			dat[c+1] = dfs(c+1);
			dat[c+2] = dfs(c+2);
			return dat[c+1]+dat[c+2];
		}
	}
}

int main(){
	cin >> n >> m;
	cout << dfs(n);
	return 0;
}

一开始没写记忆化后三个点tle 后面写了就wa 也不知道为什么

2025/1/23 10:27
加载中...