问两个锦囊是不是一个,就是简单的把第二个锦囊旋转一下对比就可以
暴力即可
//leehaoze
#include <iostream>
#include <deque>
#include <string>
#include <vector>
#include <queue>
#include <cstdio>
#include <stack>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <cstdio>
#include <cmath>
#include <cstdlib>
using namespace std;
const int INF = 1<<29;
#define INC_SAT( val ) (val = ((val)+1 > (val)) ? (val)+1 : (val))
#define ARR_SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) )
#define ULL unsigned long long
int A[4][4],B[4][4];
bool Comp(){
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 2; ++j) {
if(A[i][j] != B[i][j])
return false;
}
}
return true;
}
void Change(){
swap(B[0][0],B[0][1]);
swap(B[0][0],B[1][1]);
swap(B[0][0],B[1][0]);
}
bool Match(){
for (int i = 0; i < 4; ++i) {
if(Comp()){
return true;
}
else{
Change();
}
}
return false;
}
int main() {
#ifdef LOCAL
freopen("IN.txt", "r", stdin);
#endif
int T;
scanf("%d",&T);
int cases = 1;
while(T--){
scanf("%d%d",&A[0][0],&A[0][1]);
scanf("%d%d",&A[1][0],&A[1][1]);
scanf("%d%d",&B[0][0],&B[0][1]);
scanf("%d%d",&B[1][0],&B[1][1]);
if(Match()){
printf("Case #%d: POSSIBLE\n",cases++);
}
else{
printf("Case #%d: IMPOSSIBLE\n",cases++);
}
}
}