就像是棋盘覆盖问题一样,给出六种棋盘的个数,也就是输入中的6个整数,要求输出最少用多少个6 *6 的棋盘可以全部覆盖它们
解题思路:
6 * 6的棋盘 sum 直接加 1
5 * 5 的棋盘 sum + 1 的同时,还可以放11个 1 *1 的棋盘
4 * 4 的棋盘 sum + 1 的同时,还可以放置 5个 2 *2 的棋盘
3 * 3 的棋盘 sum + num( 3 * 3 )/4【1个 6 *6 的棋盘可以放置4个 3 *3 的 棋盘】,如果剩余1个 3 *3 的棋盘,则还可以放置5个 2 * 2 的棋盘, 7个1 *1 的棋盘。若剩余两个3 * 3的棋盘,则还可以放置3 个 2 * 2的棋盘,6个1 * 1 的棋盘。若剩余三个 3 *3 的棋盘,则还可以放置1 个2 *2 的棋盘,5个 1 * 1的棋盘。
若还剩余2 *2 和 1 *1 的棋盘,即用左右的棋盘格数去除以6 * 6 的除数即可。
其实最本质的就是从最大的开始用 36 进行整除和取余运算,余数需要进行填充,填充时需要枚举几种情况,这样就可以了。