一、题目
对题目的详细介绍见PosPro的上一篇博客《GnomeTetravex游戏, ZOJ1008” 的一种解法(上)》
二、思路
针对上一版程序中出现的超时(Time Limit Exceed),我们很自然地想到,应该对程序进行优化。但是,从哪里入手呢?
题目中似乎并没有给出特别明确的暗示,那我们就从自己假设一些情况吧,比如:如果输入的25个方块中,有8个是一模一样的,有另外4个也是一模一样的。显然,如果对输入方块进行一下归类,将大大简化递归过程。
1. 对上一版程序中的Struct Square进行改造,用int cnt取代bool used。Cnt记录这一种Square攻击出现了多少次,使用一次减一次,也就暗含了是否used的判断。同时增加int types,记录归并后一共有多少种方块。