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;
}


你可能感兴趣的:(编程,算法,dp,C语言,ACM)