0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-27 19:56:28 +00:00
OI-codes/problem/P1679/P1679.cpp
2020-10-29 21:57:30 +08:00

35 lines
516 B
C++

#include <bits/stdc++.h>
using namespace std;
int n, ans = 999999;
void dfs(int cnt, int k, int last) {
if (k > ans) {
return;
}
if (cnt > n) {
return;
}
if (cnt == n) {
ans = min(ans, k);
return;
}
int i = last;
while (i*i*i*i <= n - cnt) {
i++;
}
while (i >= last) {
dfs(cnt + i * i * i * i, k + 1, i);
i--;
}
return;
}
int main() {
cin >> n;
dfs(0, 0, 1);
cout << ans << endl;
return 0;
}