【入门】小X放骨牌

【入门】小X放骨牌

题目解释:

这道题其实就是一个递推,考试时遇到的话可以从较小的行和列进行推算,如是2*2的,如下图:

【入门】小X放骨牌

可以截两个,但这是偶数的行和偶数的列,现在我们来看偶数的行和奇数的列,如2*3

【入门】小X放骨牌

我们会发现,这样还是可以排满的,但如果是像3*3这样的奇数行奇数列呢?首先我们都横着排:

【入门】小X放骨牌

可以画3排,然后右边会有一排1*3的空间多出来,那是不是不能再排了呢?其实不然。

【入门】小X放骨牌

我们发现还可以再排1个,竖的排(如上图黄色),但是那个1*1的红色就排不出来了。

题目思路:

然后我们发现,不管是偶数*偶数,偶数*奇数,奇数*奇数,都可以用n*m div 2来计算,这就是递推公式。

题目难度:

*

算法分析:

答案参考:

var

n,m:longint;

begin

readln(n,m);

writeln(n*m div 2);   //套用公式

end.