You are given a special jigsaw puzzle consisting of n⋅mn⋅m identical pieces. Every piece has three tabs and one blank, as pictured below.
The jigsaw puzzle is considered solved if the following conditions hold:
Through rotation and translation of the pieces, determine if it is possible to solve the jigsaw puzzle.
The test consists of multiple test cases. The first line contains a single integer tt (1≤t≤10001≤t≤1000) — the number of test cases. Next tt lines contain descriptions of test cases.
Each test case contains two integers nn and mm (1≤n,m≤1051≤n,m≤105).
For each test case output a single line containing "YES" if it is possible to solve the jigsaw puzzle, or "NO" otherwise. You can print each letter in any case (upper or lower).
3 1 3 100000 100000 2 2
YES NO YES
只有成链或者四个成环的话才可。
#include <bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { int n,m; cin>>n>>m; if(n>m)swap(n,m); if(n==1)cout<<"YES"<<endl; else if(n==2&&m==2)cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }
Codeforces Round #639 (Div. 2) A. Puzzle Pieces
原文:https://www.cnblogs.com/lipoicyclic/p/12873371.html