这个程序为什么会死循环犽
查看原帖
这个程序为什么会死循环犽
255169
__LePetitPrince__楼主2023/8/6 13:51
#include <iostream>
using namespace std;
int sq[20];
int n, ans = 0x7fffffff;
void dfs(int sum, int cnt) {
	if (sum == n) {
		ans = min(ans, cnt);
		return;
	}
	for (int i = 1; i <= 18; i++) {
		if (sum + sq[i] <= n) {
			dfs(sum + sq[i], cnt + 1);
		}
	}
}
int main() {
	for (int i = 1; i <= 18; i++) {
		sq[i] = i * i * i * i;
	}
	cin >> n;
	dfs(0, 0);
	cout << ans;
	return 0;
}
2023/8/6 13:51
加载中...