关闭

POJ 2363 Blocks(水~)

343人阅读 评论(0) 收藏 举报
分类:

Description
有n块长宽高各为1的块,问怎么样将它们堆积后包装起来所用的包装纸最少
Input
第一行为数据组数m,之后m行每行一个整数n表示查询
Output
对于每组用例,输出最少包装纸面积
Sample Input
5
9
10
26
27
100
Sample Output
30
34
82
54
130
Solution
令堆积起来后的长宽高为a,b,c,则有a*b*c =n,实质上就是求2(a*b + b*c + a*c)的最小值,也就是2(n/a + n/b + n/c)的最小值。显然当a,b,c最接近的时候面积最小,故可以从小到大枚举a,b,c,这样最后一组可行解一定为最优解。注意n=0的情况需要特判
Code

#include<stdio.h>
int main()
{
    int m,n,i,j,k,res,a[100],b[100];
    scanf("%d",&m);
    while(m)
    {
        scanf("%d",&n);
        if(n==0)//0块特判 
            printf("6\n");
        else
        {
            res=0;
            for(i=1;i<=n;i++)//枚举 
                for(j=i;j<=n;j++)
                    for(k=j;i*j*k<=n;k++)
                        if(i*j*k==n)
                        {
                            a[res]=i;   
                            b[res++]=j; 
                        }   
            i=a[res-1];
            j=b[res-1];
            k=n/i/j;        
        printf("%d\n",2*i*j+2*i*k+2*j*k);
        }
        m--;
    }
}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

POJ 3734 Blocks(矩阵优化+DP)

题目链接:点击打开链接 题意:个n个方块涂色, 只能涂红黄蓝绿四种颜色,求最终红色和绿色都为偶数的方案数。 该题我们可以想到一个递推式 。   设a[i]表示到第i个方块为止红绿是偶数的方案数, ...
  • weizhuwyzc000
  • weizhuwyzc000
  • 2016-01-12 18:35
  • 1074

poj入门水题整理1--按刷题顺序解释

poj的水题,按刷题顺序: 1000,1004,3980,2521,3086,1207,1003,3210,1002 1663
  • qq_17246605
  • qq_17246605
  • 2016-08-07 17:45
  • 2808

poj 1390 Blocks (经典区间dp 方块消除)

Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4250   Accepte...
  • u010228612
  • u010228612
  • 2014-09-28 19:49
  • 1186

POJ 2363 Blocks(我的水题之路——立方体体积和表面积,暴力)

Blocks Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5908   Accepte...
  • shiow1991
  • shiow1991
  • 2012-02-10 21:49
  • 727

【打表出来】poj 2363 Blocks

这题有两种解法,如果不打表,就会超时
  • Scythe666
  • Scythe666
  • 2014-08-18 14:30
  • 964

(简单搜索)Blocks (P2363)

这个题就是一个很简单的搜索,我只是想把速度提高了一些,所以我一开始的做法是把给的一个数进行因数分解。 把分解出的有多少个质数进行组合搜索,不过也不知道哪里不对,一直没有AC。然后我就用很直白,很暴力...
  • jiangjiashi
  • jiangjiashi
  • 2012-10-18 21:29
  • 312

poj 2363 poj 1011 dfs + 剪枝

#include #include #include int sticks[20]; bool visit[20]; int cmp(const void * a,const void *b) ...
  • lv1120101875
  • lv1120101875
  • 2013-09-02 11:53
  • 372

POJ1390--blocks.rar

  • 2008-08-01 16:37
  • 66KB
  • 下载

poj 3734 Blocks 递推+矩阵幂优化

点击打开链接 题意 n块block 可以涂上 R,B,G,Y 求n块涂色中 R,G颜色个数为偶数的方法数? 涂到第i块时:设ai RG都为偶数的方案数. bi RG恰好一个为偶数的方案数. ci:...
  • Jeremy1149
  • Jeremy1149
  • 2016-11-28 00:05
  • 131

POJ 3734 Blocks(dp、矩阵快速幂)

题目链接: POJ 3734 Blocks 题意: 有n个格子,每个格子可以涂red,blue,green,yellowred,blue,green,yellow四种颜色之一,但是需要保证所有的...
  • Ramay7
  • Ramay7
  • 2016-04-04 15:47
  • 228
    个人资料
    • 访问:486091次
    • 积分:23098
    • 等级:
    • 排名:第354名
    • 原创:1869篇
    • 转载:0篇
    • 译文:0篇
    • 评论:68条
    最新评论