蒟蒻的第一篇题解!
我们先拿这张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
原文:https://www.cnblogs.com/oiertbr/p/13422239.html