八十分TLE
查看原帖
八十分TLE
612152
lijuncheng_1207楼主2023/7/24 08:43
#include<bits/stdc++.h>
using namespace std;
int n,m,a[10000],ans=1e5;
int dfs(int p,int x,int sum){
	if(sum>n||p>ans||a[x]>n)return 0;
	else if(sum==n){
		ans=min(ans,p);
	}
	else {
		ans=min(ans,p+n-sum);
		dfs(p+1,x+1,sum+a[x+1]);
		dfs(p,x+1,sum+a[x+1]-a[x]);
		dfs(p+1,x,sum+a[x]);
		
	}
	return 0;
}
int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(0),cout.tie(0); 
	for(int i=1;i<=40;i++)
		a[i]=i*i*i*i;
	cin>>n;
	dfs(1,1,1);
	cout<<ans<<endl;
	return 0;
}
多谢指教
2023/7/24 08:43
加载中...