【入门】小X放骨牌
【入门】小X放骨牌
题目解释:
这道题其实就是一个递推,考试时遇到的话可以从较小的行和列进行推算,如是2*2的,如下图:
可以截两个,但这是偶数的行和偶数的列,现在我们来看偶数的行和奇数的列,如2*3:
我们会发现,这样还是可以排满的,但如果是像3*3这样的奇数行奇数列呢?首先我们都横着排:
可以画3排,然后右边会有一排1*3的空间多出来,那是不是不能再排了呢?其实不然。
我们发现还可以再排1个,竖的排(如上图黄色),但是那个1*1的红色就排不出来了。
题目思路:
然后我们发现,不管是偶数*偶数,偶数*奇数,奇数*奇数,都可以用n*m div 2来计算,这就是递推公式。
题目难度:
*
算法分析:
答案参考:
var
n,m:longint;
begin
readln(n,m);
writeln(n*m div 2); //套用公式
end.