Ural 1073 Square Country (DP)

题目地址:Ural 1073

DP水题。也能够说是背包。

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <queue>
#include <map>
#include <set>
#include <algorithm>

using namespace std;
const int INF=0x3f3f3f3f;
#define LL long long
int dp[60006];
int main()
{
    int i, j, n;
    memset(dp,INF,sizeof(dp));
    dp[0]=0;
    for(i=1;i<250;i++)
    {
        for(j=i*i;j<=60000;j++)
        {
            dp[j]=min(dp[j],dp[j-i*i]+1);
        }
    }
    while(scanf("%d",&n)!=EOF)
    printf("%d\n",dp[n]);
    return 0;
}


posted @ 2016-01-16 10:58  zfyouxi  阅读(132)  评论(0编辑  收藏  举报