Timus 1073. Square Country

来源:互联网 发布:米聊聊天软件弊端 编辑:程序博客网 时间:2024/06/02 19:23
import java.io.*;import java.math.BigInteger;import java.util.*;public class Main {    public static void main (String [] args) throws Exception {        Scanner scan = new Scanner(System.in);        int up = (int)Math.ceil(Math.sqrt(60000));        int dp[] = new int[60001];        Arrays.fill(dp, 9999999);        dp[0] = 0;        for(int i=1;i<=up;i++){            for(int j=i*i;j<=60000;j++){                dp[j] = Math.min(dp[j], dp[j-i*i]+1);            }        }        int n = scan.nextInt();        System.out.println(dp[n]);    }}


给你一个数,问你最少用多少个平方数相加能得到。

因为包含了1, 所以不存在无解。

简单背包刷太多了。1Y 略水略水。。。

原创粉丝点击