C++ :
#include<bits/stdc++.h> #define MAXN 1000005 using namespace std; int n; int dp[MAXN]; int main(){ cin>>n; for(int i=1;i<=n;i++){ dp[i]=i; for(int j=1;j<=sqrt(i);j++){ dp[i]=min(dp[i-j*j]+1,dp[i]); } } cout<<dp[n]; }
使用您的 YanhuOJ 通用账户