QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#367738#5070. Check Pattern is Badbear0131TL 78ms4428kbC++144.2kb2024-03-26 12:50:532024-03-26 12:50:53

Judging History

你现在查看的是最新测评结果

  • [2024-03-26 12:50:53]
  • 评测
  • 测评结果:TL
  • 用时:78ms
  • 内存:4428kb
  • [2024-03-26 12:50:53]
  • 提交

answer

#include<bits/stdc++.h>
#define rep(i, n) for(int i = 0; i < (n); ++i)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef pair<ll, int> pli;
typedef array<int, 3> ai3;
const int inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3fll;
const int Mod = 998244353;
inline int sign(int a){ return (a&1) ? (Mod-1) : 1; }
inline void uadd(int &a, int b){ a += b-Mod; a += (a>>31) & Mod; }
inline void usub(int &a, int b){ a -= b, a += (a>>31) & Mod; }
inline void umul(int &a, int b){ a = (int)(1ll * a * b % Mod); }
inline int add(int a, int b){ a += b-Mod; a += (a>>31) & Mod; return a; }
inline int sub(int a, int b){ a -= b, a += (a>>31) & Mod; return a; }
inline int mul(int a, int b){ a = (int)(1ll * a * b % Mod); return a; }
int qpow(int b, ll p){ int ret = 1; while(p){ if(p&1) umul(ret, b); umul(b, b), p >>= 1; } return ret; }
const int fN = 1010;
int fact[fN], invfact[fN], pw2[fN], invpw2[fN], inv[fN];
void initfact(int n){
	pw2[0] = 1; for(int i = 1; i <= n; ++i) pw2[i] = mul(pw2[i-1], 2);
	invpw2[0] = 1; for(int i = 1; i <= n; ++i) invpw2[i] = mul(invpw2[i-1], (Mod+1) / 2);
	fact[0] = 1; for(int i = 1; i <= n; ++i) fact[i] = mul(fact[i-1], i);
	invfact[n] = qpow(fact[n], Mod-2); for(int i = n; i > 0; --i) invfact[i-1] = mul(invfact[i], i);
	for(int i = 1; i <= n; ++i) inv[i] = mul(invfact[i], fact[i-1]);
}
int binom(int n, int m){ return (m < 0 || m > n) ? 0 : mul(fact[n], mul(invfact[m], invfact[n-m])); }
const double pi = acos(-1);
inline void chmax(int &a, int b){ (b>a) ? (a=b) : 0; }
inline void chmin(int &a, int b){ (b<a) ? (a=b) : 0; }

int n, m;
string s[111];
bool done[111][111];
bool ok = 1;
bool dfs(int x, int y);
bool check(int x, int y){
	if((s[x][y] != '?') + (s[x][y+1] != '?') + (s[x+1][y] != '?') + (s[x+1][y+1] != '?') >= 3){
		if(s[x][y] != s[x][y+1] && s[x][y] == s[x+1][y+1] && s[x+1][y] == s[x][y+1]) return 0;
		//cout << "check " << x << " " << y << "\n";
		if(s[x][y] == s[x+1][y+1]){
			if(s[x+1][y] == '?'){
				if(s[x][y+1] == s[x][y]) return 1;
				else {
					s[x+1][y] = s[x][y];
					return dfs(x+1, y);
				}
			} else {
				if(s[x+1][y] == s[x][y]) return 1;
				else {
					s[x][y+1] = s[x][y];
					return dfs(x, y+1);
				}
			}
		}
		if(s[x][y+1] == s[x+1][y]){
			//cout << " ???\n";
			if(s[x][y] == '?'){
				if(s[x+1][y+1] == s[x+1][y]) return 1;
				else {
					s[x][y] = s[x+1][y];
					return dfs(x, y);
				}
			} else {
				if(s[x][y] == s[x+1][y]) return 1;
				else {
					s[x+1][y+1] = s[x+1][y];
					return dfs(x+1, y+1);
				}
			}
		}
	}
	return 1;
}
bool dfs(int x, int y){
	if(done[x][y]) return 1;
	done[x][y] = 1;
	if(x+1 < n && y+1 < m) if(!check(x, y)) return 0;
	if(x && y+1 < m) if(!check(x-1, y)) return 0;
	if(x+1 < n && y) if(!check(x, y-1)) return 0;
	if(x && y) if(!check(x-1, y-1)) return 0;
	return 1;
}

mt19937 rng(58);
inline int myrand(int l, int r){ return (int)(rng() % (r-l+1)) + l; }
string ans[111];

bool isok(int x, int y){
	return (x <= 0) || (y <= 0) || (x >= n) || (y >= m) || (ans[x][y] == '?' || ans[x][y-1] == '?' || ans[x-1][y] == '?' || ans[x-1][y-1] == '?' || ans[x][y] == ans[x][y-1] || ans[x][y] != ans[x-1][y-1] || ans[x][y-1] != ans[x-1][y]);
}

bool search(int x, int y){
	if(y >= m) ++x, y = 0;
	if(x >= n) return 1;
	auto nxt = [&](){
		if(isok(x, y) && isok(x+1, y) && isok(x, y+1) && isok(x+1, y+1) && search(x, y+1)) return 1;
		return 0;
	};
	if(s[x][y] != '?'){
		return nxt();
	} else {
		ans[x][y] = myrand(0, 1) ? 'W' : 'B';
		if(nxt()) return 1;
		ans[x][y] ^= ('W' ^ 'B');
		if(nxt()) return 1;
		ans[x][y] = '?';
		return 0;
	}
}

void solve(){
	cin >> n >> m;
	rep(i, n) cin >> s[i];
	rep(i, n) rep(j, m) done[i][j] = 0;
	ok = 1;
	rep(i, n) rep(j, m) if(s[i][j] != '?' && !done[i][j]) ok &= dfs(i, j);

	//cout << ": \n";
	//rep(i, n) cout << s[i] << "\n";

	if(!ok) cout << "NO\n";
	else {
		cout << "YES\n";
		rep(i, n) ans[i] = s[i];
		search(0, 0);
		rep(i, n) cout << ans[i] << "\n";
	}
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);

	int T;
	cin >> T;
	while(T--) solve();

	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3592kb

input:

3
2 2
??
??
3 3
BW?
W?B
?BW
3 3
BW?
W?W
?W?

output:

YES
WB
WW
NO
YES
BWB
WWW
WWW

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 20ms
memory: 3696kb

input:

10000
9 2
BB
BW
WW
WW
?W
?B
B?
W?
BB
6 2
??
?B
B?
BW
WW
??
10 7
WBBBW??
???BWWW
???BWWB
??WWBW?
BBWBBWB
WWB?WW?
BWBW???
WWWWBBW
BBWBB?W
B?W?W?B
4 7
??WBWWB
?BBWWWB
?W?BBB?
BBBWBBB
10 1
B
W
?
B
B
W
W
W
B
?
10 4
??WW
W?W?
WWW?
???W
?W??
?W?W
W?W?
?W?W
???W
???W
8 3
WBW
W??
???
???
W?W
W?W
???
?W?
4 1
...

output:

YES
BB
BW
WW
WW
WW
BB
BW
WW
BB
YES
BW
BB
BB
BW
WW
WW
NO
NO
YES
B
W
B
B
B
W
W
W
B
W
YES
BBWW
WBWB
WWWB
BBWW
BWWB
WWWW
WBWB
WWWW
BWBW
BWWW
YES
WBW
WBB
WWB
BBB
WWW
WWW
BWW
WWW
YES
W
B
B
B
YES
WBWB
WWWB
YES
BBWBBB
BBWWWB
YES
WWWWB
YES
BWBWBB
WWBWWB
BBBWWW
WWWWWW
YES
B
YES
BWB
BBB
WBW
BBB
WWB
BBB
BBW
WWW...

result:

ok ok (10000 test cases)

Test #3:

score: 0
Accepted
time: 19ms
memory: 3740kb

input:

10000
9 6
?B?W?W
WWBBWB
?WB?BW
B?W?W?
WW??W?
B???BW
?W?WW?
W?B?B?
?W?BB?
10 1
W
?
?
?
?
?
?
?
B
W
9 4
????
????
W???
?W?B
??WW
?BW?
WW?W
??W?
??W?
3 2
?W
?B
BB
2 7
?W?BWWB
??W???W
9 9
?BW?WWW?W
BW?WBBWWW
W?W????WW
W??WW??WW
W?BWB?B?W
??BB?WWWW
W???WBW?W
WWW???WWW
B?WWWWWW?
8 10
W??BWWW??B
?BWBWBW?BW...

output:

NO
YES
W
W
B
W
W
B
W
W
B
W
YES
BWWB
WWBB
WBBB
WWBB
BWWW
BBWW
WWWW
BBWB
WWWB
YES
WW
BB
BB
YES
BWWBWWB
WWWBWWW
NO
NO
YES
WWB
BWW
BBB
BBW
WWW
YES
BWWWWWWBW
WWWBBWWWW
WWBBBBWWW
WWWWBBWBB
WWWWWWWWW
BWWBWWBWB
WWWWWWWWW
YES
WBWWWWB
BBBWWWW
BWBWWWW
BWWWWWB
BBBBWWW
WWWBWBB
WWWWWWB
WWWWWWW
WWWWBWW
YES
WB
WW
B...

result:

ok ok (10000 test cases)

Test #4:

score: 0
Accepted
time: 15ms
memory: 3648kb

input:

10000
7 7
?B??BBW
????BB?
WBBB??B
WW?B???
?B??BBB
BBWB??B
B???BB?
10 6
W?WW??
W??W??
?WWWW?
?WW?WW
WW??W?
W?????
W?WW??
WW???W
WWW??W
?W??W?
2 6
?B??W?
B???BB
1 8
??BWB?W?
5 2
WB
W?
B?
BB
?W
7 5
W????
?WW??
???W?
WWWW?
W?W?W
?W?B?
W?WWB
8 5
B?WBW
B??WW
WWW?B
WBBWB
BW?WW
B?W?B
??WWB
BBW?B
10 4
WWWW
?...

output:

YES
WBBWBBW
WBWWBBB
WBBBBWB
WWBBWWB
BBBBBBB
BBWBBBB
BBBBBBB
YES
WWWWBB
WBWWWB
WWWWWB
BWWWWW
WWWBWB
WWWBBB
WBWWWW
WWWWWW
WWWWWW
BWBWWW
YES
WBWBWW
BBBBBB
YES
WWBWBBWB
YES
WB
WW
BB
BB
BW
YES
WWWWW
WWWWB
WBBWB
WWWWW
WWWWW
BWWBB
WWWWB
NO
YES
WWWW
WWWB
WBBB
WWWB
BWWW
BWWW
WWBB
WWBW
WWWW
WBWB
YES
BWBBBB
BW...

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 19ms
memory: 3740kb

input:

10000
1 1
?
7 9
W?WB????B
?WB??B??W
BBB?W?WB?
WWW??WWW?
WW?B??W?W
?BWW??WWW
B?WW?W?WB
3 7
??BBBB?
BW?WW??
B??B?BW
1 6
?B?WWB
7 1
W
W
W
B
?
W
?
8 8
WW??W?B?
WWW?????
BB??WWWW
?W???WBW
BBW???WB
BWBWBWW?
?W?WW??B
BB?????W
10 8
WWW?W?BW
WB?W?WBW
WW?W?WBW
WWWW?WW?
WBWB?B?W
BW?BW??B
??WWBWWB
W?BW?BWW
W?W?...

output:

YES
W
YES
WWWBBWWBB
WWBBBBBBW
BBBWWBWBW
WWWWWWWWW
WWWBBBWBW
BBWWBBWWW
BWWWBWWWB
YES
BBBBBBB
BWWWWWW
BWBBBBW
YES
WBWWWB
YES
W
W
W
B
B
W
B
NO
NO
YES
WBBWBBW
NO
YES
WBB
BBB
BBB
BWB
BWB
WWW
BBB
NO
YES
BBB
BWB
WWW
BBB
BBW
WWW
WWB
BBB
BBB
BWB
YES
WW
BB
BB
BW
BB
BW
BB
NO
YES
BB
BB
BB
BB
BB
BB
BB
WB
NO
YES
...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 13ms
memory: 3736kb

input:

10000
9 1
W
B
?
B
W
W
?
W
B
1 10
W??????BWB
5 8
??W??WB?
?B?WWB?W
??????B?
BB??BBBB
WB??BBB?
6 2
?B
??
WB
?B
WW
W?
1 10
WW??BW?BW?
4 3
BW?
???
B?B
??W
10 10
WW?BBW?BW?
WW?BW?????
?WWBW?WB?W
???B?BBBBB
??BBBB?BBW
?WW??W?WBB
W??BB?WBBB
BBWBW?WBBW
?W????BWB?
??BW??WBWB
1 6
??B???
6 5
WBB?W
?WWWW
WWWW?
...

output:

YES
W
B
W
B
W
W
B
W
B
YES
WWWBWWBBWB
YES
WWWBWWBW
BBWWWBBW
BBBBBBBB
BBWBBBBB
WBWBBBBB
YES
BB
WW
WB
BB
WW
WW
YES
WWBBBWWBWW
YES
BWB
BWW
BBB
BBW
NO
YES
BWBWBW
NO
YES
B
B
B
W
W
B
B
W
B
YES
BWWWBWWWW
WWWBBBBWW
WWWWWWBBB
WBWWWWWWW
WBWBWWWWW
WWWWWWWWW
BWWWWWBWW
WWWWWWWWB
YES
WBBW
WWWW
WWWW
WBWW
WWWW
BBWW
...

result:

ok ok (10000 test cases)

Test #7:

score: 0
Accepted
time: 51ms
memory: 3644kb

input:

10000
10 10
?W?WW?W??W
?BWBW?BBWW
?BB?WWW?W?
W?B?WWWWWW
?BWW?WWW?W
BWWWWWWW?W
WBBWW??B??
W??WW?W??W
WWWW?WW?W?
?W?BWW?WW?
10 10
WB?WBBWWWB
?WWWW?WB??
?B?BWW?BW?
WBWBW??W?W
B?WB?WBWWB
WWBWBBWW??
??WBBWBWBW
WWB??WWBWB
B?BWWWWBWW
WW?WWWBWWB
10 10
??W????WW?
?WW?W???W?
??W??WW?W?
WW??WW?WW?
?W??WW?WW?
?...

output:

NO
NO
YES
WBWWWBWWWW
WWWWWWWWWB
BBWBBWWBWB
WWWBWWWWWB
WWBBWWBWWW
WWWBWWWWBW
BWWBBWWWBB
BBWWWWWWBB
WWWWWWBWBW
WWWWWWBWBW
NO
YES
BWBBWBWWWB
WWWBBBBBWB
BWBBWWBWWB
BBBBWWBWWW
WBWBBWBBWW
BBWBBBBBBB
BBWWWWBWBB
BWWBWWBWBB
WWBBBBBWWW
WBBWWBBBWW
YES
BBWBBBBWBB
BWWWBBBWBB
WWWBBWBBBB
BWBBBBBBBB
BWWBWBBBBB
BBWB...

result:

ok ok (10000 test cases)

Test #8:

score: 0
Accepted
time: 51ms
memory: 3740kb

input:

10000
10 10
?BBBBWBBB?
??W???WB??
BB?W???BB?
?B???BBB??
W??BB?WBBB
?B?B???W?W
?????BB???
?BW???B???
???BBB??BB
BWBBBBBBB?
10 10
BWW?WWB?BW
??B?WBBBWB
B??BB??BWB
BW?BWB???W
?WB?WWW?W?
B??B??W?BB
?WBB?WBB?B
BB??BBWBW?
WB??WBB?BW
?B???B?W??
10 10
??WWWB??BB
?WW???WBWW
???W??W?WW
?W?B?W?W??
WWB?WBB??W
B...

output:

YES
WBBBBWBBBB
WWWBWWWBWB
BBWWWBWBBB
BBBBBBBBBB
WBBBBWWBBB
BBWBBBWWBW
WWWWBBBBBW
BBWBBWBBBB
BWWBBBBWBB
BWBBBBBBBW
NO
YES
WWWWWBBBBB
BWWWWWWBWW
WWWWWBWBWW
WWWBWWWWWB
WWBBWBBWWW
BWWBWBWWWW
WWWWWWWWWW
WWWWBBWWWW
WBBWWBBWBW
WBBWWWWWBB
YES
WWWWWWBWWW
WWWWWWWWBB
WWBWWWWWWB
WWBWWWBWWW
WWWWWWWWWW
WWWWWBWWWW...

result:

ok ok (10000 test cases)

Test #9:

score: 0
Accepted
time: 24ms
memory: 3632kb

input:

10000
1 100
WWW?BWB?BB?BBW?BWBB?W??B?B?BWWBWB?WWB??BBBBB??BBBBB?BBBWBWWW?B?BBBWW??BBBW???B???W??W??BW?B?B?W??WB?
1 100
?WBW?WB?BBBB?BWBWB???WWB?BBB?BBW?B?B??W?B??BBW??WBBW???WW?BBBB?WWB?WBB???WBBB?BBW?W??BW?B??BBBBBBBWB
1 100
W?????BBB?BB?BB?????BWWWB?B???BB??????B??BWW???B??B?B???????BBB??B?BBB???B...

output:

YES
WWWWBWBBBBWBBWWBWBBBWWWBBBWBWWBWBWWWBBWBBBBBBBBBBBBBBBBWBWWWBBBBBBWWBBBBBWBBWBBWBWBBWWWBWBBWBBWBWWBW
YES
BWBWBWBWBBBBWBWBWBBBBWWBBBBBWBBWWBBBWWWWBWBBBWBWWBBWWWWWWBBBBBWWWBBWBBBWWWBBBWBBWBWBWBWBBBWBBBBBBBWB
YES
WWWWWWBBBBBBWBBBBBWWBWWWBWBBWWBBWWWBBWBWWBWWBBWBWBBWBBWWWWBWBBBWWBWBBBBWWBBBBWWWWWBWWW...

result:

ok ok (10000 test cases)

Test #10:

score: 0
Accepted
time: 78ms
memory: 3712kb

input:

10000
100 1
W
B
B
?
B
B
B
?
B
B
B
B
W
B
B
B
?
?
B
?
B
B
?
W
B
W
?
B
?
B
W
W
?
W
?
B
?
B
B
?
W
W
B
?
B
B
?
?
W
W
B
B
?
B
B
?
B
?
?
?
W
B
W
B
?
B
W
?
?
B
B
B
B
?
B
?
W
B
B
W
B
?
W
B
B
?
B
B
?
B
?
W
?
B
?
B
B
?
B
W
100 1
?
W
?
W
?
W
W
W
W
W
B
W
?
?
B
B
?
W
?
B
W
W
W
W
?
?
?
?
W
W
B
W
W
W
W
W
?
W
W
W
?
...

output:

YES
W
B
B
W
B
B
B
B
B
B
B
B
W
B
B
B
W
W
B
B
B
B
W
W
B
W
W
B
B
B
W
W
W
W
W
B
B
B
B
W
W
W
B
B
B
B
B
B
W
W
B
B
B
B
B
B
B
B
B
B
W
B
W
B
B
B
W
W
B
B
B
B
B
W
B
B
W
B
B
W
B
B
W
B
B
B
B
B
W
B
W
W
B
B
W
B
B
B
B
W
YES
B
W
W
W
W
W
W
W
W
W
B
W
B
B
B
B
W
W
W
B
W
W
W
W
B
B
B
B
W
W
B
W
W
W
W
W
W
W
W
W
W
W
B
W
B
B
...

result:

ok ok (10000 test cases)

Test #11:

score: 0
Accepted
time: 38ms
memory: 3712kb

input:

1000
100 10
WWWB?WWW?W
W????????W
WB?W??WW?W
WBB?WWW??B
?WWWW?WW?W
?WWWW?W?WB
?B??W?W???
WW?W?BWWW?
WW?B?W?W?W
????WW??W?
BWB??WWWW?
W??W??WW??
W?WBB??WWW
?WWBBWW?WW
?WBWW?B???
???WWW???W
??WW?WWW??
????W?BW?W
???W?W?W?W
?WW?WW?WB?
BW??WW?WW?
WB?WWWWW?W
??BWW??W?W
W??B?WWWW?
WWW?W??WWW
BBBW??W?W?
??...

output:

NO
NO
NO
NO
NO
NO
NO
YES
WBWWWWWBWW
WBWBWWWWWW
WBWWWWWBWW
WWWWWWWBBB
BBBWBWWWWB
WWWWWWWBWW
WWWWBWWWWW
WBWWWWWBWW
WWWBBWWWWW
BWWWBBWWWB
BWWWBBBBBB
BBWWWWWWWW
BWWWWBBWBW
WWWWWWWWWW
WWWWBWBWWW
WWWBBWWWWB
WWWBWWWWBB
WWWWWWWWBW
WWWBWWWWWW
WWWWWBWWBW
BBBWWWWWWW
WWWWWWWBBB
WWWBWBWWWW
WWWWWWWWWB
WBWWWWWBWW
...

result:

ok ok (1000 test cases)

Test #12:

score: 0
Accepted
time: 36ms
memory: 3712kb

input:

1000
10 100
BBWB??W??B?BWB?BBB??WWWW?B???WBB??WW???WWBW?B??W??BW?BWBBBW?BWBW?WBW?B?WWB??B?B?BBWWWBBBBW?BB???B?WB
??????WWWBWBBB??W??WW??BWBW??W??????WWWB?B??B?????W?B?????W??BBBBWBW??BWWWB???WBWB?BB?WW?B????W?WWB?
WB?BBBW?B??BB?WWW?B??WBB??W?BBW??BB??BB???BB??B??WB??W?B?B?WWWWW?BB??W?W?WBB??B?WWBBB?...

output:

NO
NO
NO
NO
YES
WBBWWBWWBWWWBWBBBBBBBBWBBBWBBBBBWWBWBBWWBBWWBBBBWWWWWWBWWWWWBBWWWWBWBBWWWBBWBBBWWWWBWWBWBBBWWWWWBWWW
WWBBBBWWWWBWWWWBWWWWBWWWWWWWBBWWWBBWWBWWWBBWWWBWWBWBBBBWWWBBBWWWBBBWBWWWWWBBBWWWBWWWWWWWBWWWWWBWWWBW
BWWWBBWBWWBWBBWBWBBBBBWBBWWBBWWWWBWWWWWBWBWWWWBBWWWWBBBWWWBWBWWWBWBWWWWWBWBWWWBWBW...

result:

ok ok (1000 test cases)

Test #13:

score: 0
Accepted
time: 34ms
memory: 4324kb

input:

100
100 100
?WW?WW??WWW??BBW??WW??W???W?W?W?????W?W?BWBW??WBW????W??BB??BW?W??W????WBW?????WWB??BWW????W??W??WW?
B?????WW???B?BWWWB?WWW?WB?BB??????W??W?BWWW?BB??WWBWB?WWW????WW?W??BB?BBWB?W????W???BWWW??BBWWW???BW
W?BW??????WBB?B????W?BBW????BBW????W?W?????B?B??WW??????WWWWW?W??WW?WBW??W??W????BWWB?...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
WBBWWBWWBBBWBWBWBBBBBBBBBBWBWBBBBWWBWBBBWWBBBBBWWBBBBWWB...

result:

ok ok (100 test cases)

Test #14:

score: 0
Accepted
time: 30ms
memory: 4412kb

input:

100
100 100
B?B?W?W??BWWW?BWW??W?W??????BBB?WW??WBBWWBWBWBWW?BB?WB?WBWWWBWWB?W??W?W?BW?WW??W??W??W??W?BW??W?WBB?
W?WW???BBWBWWW?B?WBWWWBW?????W????W?WBWWWWWW??W?WW?W?BWB?W?B?W??BB?BW?BBWWW??BWWW?WW?B???W??W?WWB?WW
????WW??BW?B?BB???WWW?WWBBW?W?WBB?W?W??????B?BWWWWW??WWB?WW???W?BBB??W?BW?W??BW??WWWWW...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
WBBBWWBWBWBBWWBWBBBBBBBWBBBBBBWBBBWBBBBBWBWWBWBBBWWWBBBWWBBBBBWWBWBWBWWWBBWWWBBBWBBBWBBBBBBWBWBWBBBW
BBWWWWBWWWWBBBBBBBBBWWWWWWBBWWWWBBWWWBBBBBBWWWWBBBWWWWBWWWWBBBBBBBBBBBBWBBBBWWBBWWWBBBWWWBBWBBBWBBBB
BWWWBBBWBBWWBBBBBBWWWBBWWWWWWWBBBBBWWBBWBBWWWBWWBBWBWWW...

result:

ok ok (100 test cases)

Test #15:

score: 0
Accepted
time: 33ms
memory: 4428kb

input:

100
100 100
?BBWBBBB?BBB????BBBWWB???B?BBWBWB?BBBBBBB?W?B?BBB?W?WBBWWBBB?B?B?BB?BB?BBBBBWB?WWBBB?BBBWWB?BB???B?B
B??BBBB????BBBBBWWBBBB??BBW?B?W??BBB?B?BB?BBB??B?B?BWBBWBB?BB?BBBB?BBBBBBWBBWBBBBW?BBBBWBBBWWBBBBBB?
?BBBBWB??B?BB?BB?B?BB?BWB?BBBBBWW?WBBB?BBBWB?B??W??BB?B???BB?B?W?B?BWB?BWWB?WB?WBBB?B?...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
WBWWBWWBWWBWWBWBBBBBBBBWBWBBBWWBWBBWWBBWWBBBBWWBWWWWBBWWWWBWBBWWWBBWBBWWWWWWBWBBBWWWBWWWWWWBBWWWBBWW
BBWBBWWBWBBWWWWWWBBWWWBWWWBBWWWBWWBWBBBBWWWBB...

result:

ok ok (100 test cases)

Test #16:

score: 0
Accepted
time: 59ms
memory: 3600kb

input:

10000
10 10
??????????
?W?W??????
??????B???
???????W??
??????B???
??????????
?????B???W
??????????
??????????
???????W??
10 10
???W?WW???
?WWBB?WWBB
?WB??BBWBW
?W?WW?WW?B
BB???B?W??
?B?BWB??BW
BBWBWB?BB?
??BB?BB???
B?W??W????
?BBBB??BW?
10 10
??B?B??W?W
?BBBBW??B?
BBWWBB?B?B
??W??W??B?
B?W?BB???W
?...

output:

YES
WBWWBWWBWW
WWWWBBBBBB
BBBWBWBBBB
WWBWBBBWWB
BWWWBBBBWW
BWWWWBBWWW
WWWBBBWWWW
BBWBBWWWWW
WBWBBBWWWB
WWWWWBBWWW
YES
WBWWBWWWWB
WWWBBBWWBB
WWBBWBBWBW
WWWWWBWWBB
BBWWWBWWBW
WBBBWBBWBW
BBWBWBBBBW
BBBBWBBWWW
BBWWWWWWWW
BBBBBWBBWB
YES
BBBWBWWWBW
BBBBBWWWBW
BBWWBBWBBB
BWWWBWWWBW
BWWWBBBBBW
WWBWWBWWBB
WW...

result:

ok ok (10000 test cases)

Test #17:

score: 0
Accepted
time: 51ms
memory: 3648kb

input:

10000
10 10
WBWWWWBBWW
WBWWW?BWWW
WWWBBBBWWB
BBBBWBBBWW
WBBBBBWBWW
W?BBBBWWWB
BWBBWBBWBB
BBB?WBWWWB
WBWWBBWWWW
BBWWBBBWBB
10 10
B?WW??W??B
B????WWWBB
?BB?W?WWW?
WWW?W?W??W
W?BB??BBW?
B??BW???BB
WWWWW??BW?
?B?BB???W?
??W???WW??
WBB???W???
10 10
??BW?W?WW?
?BBBBBBBW?
?BBBB?BWW?
B?BBBW???B
BWBBWWW?BB
W...

output:

YES
WBWWWWBBWW
WBWWWWBWWW
WWWBBBBWWB
BBBBWBBBWW
WBBBBBWBWW
WWBBBBWWWB
BWBBWBBWBB
BBBWWBWWWB
WBWWBBWWWW
BBWWBBBWBB
YES
BBWWWWWBBB
BWWWWWWWBB
BBBWWBWWWB
WWWWWBWBWW
WBBBBBBBWW
BBWBWBBBBB
WWWWWBWBWW
BBWBBBBBWW
BBWWWBWWWB
WBBBWWWBWW
YES
WWBWBWBWWW
WBBBBBBBWW
WBBBBBBWWW
BBBBBWBWWB
BWBBWWWWBB
WWWBBWWWBB
BW...

result:

ok ok (10000 test cases)

Test #18:

score: 0
Accepted
time: 53ms
memory: 3740kb

input:

1000
100 10
W???W?BBW?
WW??BWWW??
WBB?B?W?W?
W?BB???WWB
?WWB?WW??W
W??W????WB
BW??BBWBB?
BB???W?WBB
???WBW?WW?
?WBB?WBB??
?WB?BB?WBW
W?B?WB?WB?
?BB?WWWWBB
WB??BBWW?W
WB?BW?BWBB
??W?WBWWW?
??W?BBWBB?
WW??WWW?B?
BW??BB??W?
BW??W?W?WW
??BBWW???W
BB??BBWWBW
BBW??BBWWW
??B?WBW?B?
?B?BB?B??W
W??BW?BWBW
WW...

output:

YES
WWBWWWBBWW
WWBWBWWWWW
WBBBBWWWWB
WWBBBBBWWB
BWWBBWWWWW
WWWWBBBBWB
BWBWBBWBBB
BBBBBWWWBB
WWBWBWWWWB
BWBBBWBBBB
WWBBBBBWBW
WBBWWBWWBB
BBBBWWWWBB
WBBBBBWWWW
WBWBWBBWBB
BBWWWBWWWW
WBWBBBWBBW
WWWWWWWWBB
BWWBBBBWWW
BWWBWBWWWW
BBBBWWWWWW
BBWBBBWWBW
BBWWWBBWWW
WBBBWBWWBW
BBBBBBBBBW
WWWBWBBWBW
WWWWWWBBBW...

result:

ok ok (1000 test cases)

Test #19:

score: -100
Time Limit Exceeded

input:

1000
10 100
?????????BBW??????B??WWWW??WW????????WW???W?WBBB????????W?B?W???W?W??W???????B?BW?????B??????B??????
??????B?W??W?W??B?????WBWB?W?????????????WWB????WWW??????W?????????????????W????W?W????W???W?W??B???
BB?B???WWW?W?WBW????????WW???B???B???BB?????WW?????????BB?????B??B??W????B?????B???BW?...

output:

YES
WBWWBWWBWBBWWBWBBBBBBWWWWBBWWBBWBWBBBWWWWBWWWBBBBBWWBBWWWBBBWBBWWWWBWWWWWBBWWBWBWWBWBBBWWWBBWBBBWWWW
WWWWBBBBWWWWWWWWBWWWWWWBWBBWWWWWBWWBWWWWWWWBWBWWWWWWWBWWWWBWWWBWWWBBWWWBWWBWWBBBWWWWWWBWBWWWWWWBBBWW
BBBBBWWWWWWWWWBWBBBWWBWWWWWWWBWBBBWWWBBBWWBBWWWWBBWBWWWBBWBBWBBWBBBBWBBBBBBWBBWBWWWBWBBBBWBBWB...

result: