由题目可知,若 $n = 1$ 或者 $m = 1$,一定可以像样例 $1$ 一样可以拼出来。以 $n = 1$ 为例,做法如下:
凹口分别向右,下,左,左……左(共 $n - 2$ 个左)。

再来分析其它的,发现 $n = 2,m = 2$ 时为样例 $2$ 时有解,而当 $n = 2,m = 3$ 时是其它更大的模型的基础,但尝试后发现这个无法拼出。所以只有两种情况有解,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int t,a,b;
cin>>t;
while(t--)
{
cin>>a>>b;
if(a == 2 && b == 2 ||a == 1 || b == 1) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}