全WA求调
查看原帖
全WA求调
947029
Chen_Three楼主2024/5/26 11:00
#include<bits/stdc++.h>
using namespace std;
char a[25][25], b[25][25], t[25][25], t2[25][25], t3[25][25];
int T, n, m;
bool check() {
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (a[i][j] != t3[i][j]) {
				return 0;
			}
		}
	}
	return 1;
}
void slove() {
	for (int i = 1; i < n - m; i++) {
		for (int j = 1; j < n - m; j++) {
			for (int i2 = 0; i2 < m; i2++) {
				for (int j2 = 0; j2 < m; j2++) {
					if (a[i + i2][j + j2] == '.' && t[i2 + 1][j2 + 1] == '*') {
						return;
					}
				}
			}
		}
	}
	for (int i = 1; i < n - m; i++) {
		for (int j = 1; j < n - m; j++) {
			for (int i2 = 0; i2 < m; i2++) {
				for (int j2 = 0; j2 < m; j2++) {
					t3[i + i2][j + j2] = a[i + i2][j + j2];
				}
			}
		}
	}
}
void xuan2zhuan3() {
	for (int i = 1, i2 = 1; i <= n; i++, i2++) {
		for (int j = 1, j2 = n; j <= n; j++, j2--) {
			t2[i2][j2] = b[i][j];
		}
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			b[i][j] = t2[i][j];
		}
	}
}
int main() {
	cin >> T;
	for (int i = 1; i <= T; i++) {
		memset(t, ' ', sizeof(t));
		memset(t2, ' ', sizeof(t2));
		memset(a, ' ', sizeof(a));
		memset(b, ' ', sizeof(b));
		memset(t3, ' ', sizeof(t3));
		cin >> n;
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= n; j++) {
				cin >> a[i];
//				t3[i][j]='.';
			}
		}
		cin >> m;
		for (int i = 1; i <= m; i++) {
			for (int j = 1; j <= m; j++) {
				cin >> b[i][j];
				t[i][j] = b[i][j];
			}
		}
		for (int i = 0; i <= 3; i++) {
			slove(), xuan2zhuan3();
		}
		if (!check()) {
			cout << "NO" << endl;
		} else {
			cout << "YES" << endl;
		}
	}
	return 0;
}

2024/5/26 11:00
加载中...