@[kuoluo03](/user/250699) 这题不应该是完全背包吗
by 学而思李老师 @ 2020-08-23 12:29:21
```cpp
#include <iostream>
using namespace std;
int m,cnt,minn = 100000;
long long sum;
void dfs(int start){
if(cnt > minn) return;
if(sum > m) return;
if(sum == m){
minn = min(minn,cnt);
return;
}
for(int i = start;(i*i*i*i) <= m;i++){
sum += (i*i*i*i);
cnt++;
dfs(i);
cnt--;
sum -= (i*i*i*i);
}
}
int main(){
cin >> m;
dfs(1);
cout << minn;
return 0;
}30分
by LYM20114 @ 2022-01-06 20:14:15