洛谷IDE上可以运行,在本地运行错误
  • 板块学术版
  • 楼主Dreeick
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/6/16 23:04
  • 上次更新2023/10/23 13:00:14
查看原帖
洛谷IDE上可以运行,在本地运行错误
773371
Dreeick楼主2023/6/16 23:04

这本来是B3635的代码,并且我也通过了,提交记录

代码如下

#include <iostream>
#include <algorithm>

using namespace std;

typedef unsigned long long ull;

ull f[1000001] = {0,1,2,3,4,1,2,3,4,5,2,1,2,3,4,3};
inline ull dp(int n){
	if(n == 0){
		return 0;
	}
	if(f[n]){
		return f[n];
	}
	f[n] = min({dp(n-1),dp(n-5),dp(n-11)}) + 1;
	return f[n];
}

int main(){
	int m;
	cin >> m;
	cout << dp(m);

	return 0;
}

但是当我在本地输入1000000时,运行错误了,如图

然后我就调试了一下,发现是在第十六行f[n] = min({dp(n-1),dp(n-5),dp(n-11)}) + 1;错误的

调试到那一行我的Dev-C++弹出了以下窗口

我的编译选项-std=gnu++14

我又在洛谷IDE上运行了代码,是可以正常输出结果的

有没有哪个dalao可以解释一下是什么原因,怎么解决。

如能指出,感激不尽!

2023/6/16 23:04
加载中...