pku 3499 Containers 数学。。

题意是这样
N个集装箱,俯视图如下,最多叠5层。要求底面积最小。如果有重复方案,要求长、宽的绝对值差最小

尺寸:集装箱 8*40 ,水平间距:4,竖直间距:2

题解:
枚举纵向个数,枚举到sqrt(上取整(n/5)即可。

程序:
 1import java.util.*;
 2public class Main {
 3
 4    /**
 5     * @param args
 6     */

 7    public static void main(String[] args) {
 8        Scanner in=new Scanner(System.in);
 9        int test=in.nextInt();
10        while((test--)!=0)
11        {
12            long num=in.nextLong();
13            num=(num%5==0?num/5:num/5+1);
14            long r1=Long.MAX_VALUE,r2=Long.MAX_VALUE,l=0,w = 0;
15            for(long a=1;a*a<=num;a++)
16            {
17                long b=(num%a==0?num/a:num/a+1);
18                if((a*44+4)*(b*10+2)<r1||(a*44+4)*(b*10+2)==r1&&Math.abs((a*44+4)-(b*10+2))<r2)
19                {
20                    r1=(a*44+4)*(b*10+2);
21                    r2=Math.abs((a*44+4)-(b*10+2));
22                    l=(a*44+4);
23                    w=(b*10+2);
24                }

25                if(b==1break;
26            }

27            System.out.println(Math.max(w,l)+" X "+Math.min(w, l)+" = "+r1);
28        }

29
30    }

31
32}

33

posted on 2010-12-03 00:13 yzhw 阅读(156) 评论(0)  编辑 收藏 引用 所属分类: numberic


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

公告

统计系统

留言簿(1)

随笔分类(227)

文章分类(2)

OJ

最新随笔

搜索

积分与排名

最新评论

阅读排行榜