Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:把平面看成了立体也真是醉了

Posted by Johnson_Yip at 2015-02-12 03:19:06 on Problem 1017
In Reply To:把平面看成了立体也真是醉了 Posted by:Johnson_Yip at 2015-02-12 02:44:27
还是把我的解题报告发上来吧...
毕竟压过代码可读性极差
还请大神们轻喷...我是蒟蒻...

觉得x=f+e+d+(c+3)/4;没什么好解释吧
每个6*6, 5*5需要一个包装, 每4个3*3需要一个包装

能塞就塞, 先塞大的这个不需要解释吧, 很好证明的
然后对于每个5*5可以塞入11个1*1
对于每个4*4最多可以塞入5个2*2
2*2不够怎么办? 我们可以先"借"来足够的, 最后由4个1*1拼接而成
也就是先可以用负数表示, 最后的时候一股脑*4加到1*1的个数里面

比较讨厌的是3*3的判断
  如果3*3的多出1个, 2*2最多可以塞入5个, 多出9个空位1*1塞入
  如果3*3的多出2个, 2*2最多可以塞入3个, 多出7个空位1*1塞入
  如果3*3的多出3个, 2*2最多可以塞入1个, 多出5个空位1*1塞入
此处同理2*2不够不用管它

然后对于2*2自己, 我们先减去所有借来的, 判断一下有没有多余
  如果有多余的话, 先能装的全部打包, 零头再借来足够的2*2也打包

对1*1而言, 每个5*5会用去11个, 3*3的空位还要还2*2的债
如果仍然有剩余的1*1, 直接打包
不够了? 那就让那几个本来打算让1*1占的位置空着好了...
/* 然后就欠下了一屁股债 */

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator