1997年普及组第一题
有一个n*m方格的棋盘,求其方格包含多少正方形、长方形
n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100)
方格包含多少正方形、长方形
输入 2 3 输出 8 10
样例分析 正方形: 1、边长为1,个数为(n-0)(m-0)=6。 2、边长为2,个数为(n-1)(m-1)=2。 故若有nm个方格,取边长为a的正方形,那么边长为a的正方形的个数为(n-(a-1))(m-(a-1))。
长方形 1、长度i为1,宽度为j=2,个数为(n-0)(m-1)=2×2=4。 2、长度i为2,宽度为j=1,个数为(n-1)(m-0)=1×3=3。 故若有nm个方格,取长为a,宽为b,那么长为a宽为b的长方形的个数为(n-(a-1))(m-(b-1))。
具体实现见代码: