题库练习 积木(block)

A71603 | 积木(block)

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

小 X 在地上玩积木,每块积木都是一个 1 \times 1 \times 1 的正方体。地面可以看成一个 n \times m 的网格,其中每一小格内都整齐地从下到上堆着若干块积木。其中第 i 行第 j 列中有 h[i][j]块积木。

现在小 X 想要拿走一些积木,使得剩下来的积木组成一个正方体,正方体指的是长宽高都相同的长方体。

小 X 想问你他最少拿掉多少块积木才能使得最后剩下来的积木组成一个正方体。

输入格式

第一行,2 个整数 nm 表示地面的大小。

接下来 n 行,每行 m 个非负整数。第 i 行第 j 个数表示 h[i][j]

输出格式

一行一个整数表示答案。

输入输出样例

输入 #1
3 3 
2 2 1 
3 2 2 
3 1 2
输出 #1
10
输入 #2
5 5 
4 4 3 4 3 
3 4 3 3 3 
3 3 1 4 4 
3 4 4 3 3 
4 3 4 4 4
输出 #2
77
C++ 编辑器
输入
输出