题解 AT1876 【ドミノ色塗り】

AT1876 【ドミノ色塗り】

 

蒟蒻的第一篇题解!


 

我们先拿这张2×3图分析:(行为h,列为w)

可以将此矩阵分为2类:

第1类:横放的1*2的矩形

每行有(w-1)种放法,有h行 

共(w-1)*h种放法

 

第2类:竖放的1*2的矩形

每列有(h-1)种放法,有w列
共(h-1)*w种放法



让我们再拿这张4*1图验证:

也可以将此矩阵分为2类:

第1类:横放的1*2的矩形

这个矩阵只有1列,所以没有放法

 

第2类:竖放的1*2的矩形

每列有(h-1)种放法,有w列
共(h-1)*w种放法



综上,可得出总放法为:

(w-1)*h+(h-1)*w

 

当然,这个h行w列的矩阵不得小于1*2

那么还要加上判断:

如果(h==1&&w==1)||h==0||w==0,则输出0



代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
int h,w;//h为行,w为列
cin>>h>>w;//输入h和w
if((h==1&&w==1)||h==0||w==0)//判断 
{
cout<<0;
return 0;
}
cout<<(w-1)*h+(h-1)*w;//求放法 
return 0;
} 

完结撒花~(疯狂暗示 QwQ

posted @ 2020-08-02 20:25  冰镇琪露诺  阅读(135)  评论(0)    收藏  举报