7216:Minecraft

likztime

2018-01-15 17:13:58

Personal

#7216:Minecraft 总时间限制: 1000ms 内存限制: 65536kB 描述 Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。[![](http://media.openjudge.cn/images/upload/1403231004.png)](http://media.openjudge.cn/images/upload/1403231004.png) 在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢? 输入 一个整数N,表示小明所拥有的小立方体的个数。N不会超过1000。 输出 一个整数,即小明最少用掉的贴纸有多少张。 样例输入 9 样例输出 30 #题目分析: #乍一看哟,还挺难的,其实只需要枚举表示这个长方体的表面积就行了 代码: ```cpp #include<bits/stdc++.h> using namespace std; long minn=100000000; long b; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;++i)//长 for(int j=1;j<=n;++j)//宽 for(int k=1;k<=n;++k)//高 { if(i*j*k==n) { b=2*(i*j+j*k+i*k);//求长方体的表面积 if(b<minn)//求出最小值 { minn=b; } } if(i*j*k>n) break;//减少枚举次数 } printf("%d\n",minn); return 0; } ```