QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#469724#5070. Check Pattern is BadBalintRAC ✓72ms23248kbC++204.3kb2024-07-09 22:34:362024-07-09 22:34:36

Judging History

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

  • [2024-07-09 22:34:36]
  • 评测
  • 测评结果:AC
  • 用时:72ms
  • 内存:23248kb
  • [2024-07-09 22:34:36]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

typedef unsigned uint;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<pii> vpii;
typedef complex<double> cpx;
template <typename T> using minPq = priority_queue<T, vector<T>, greater<T>>;
#define ms(a, x) memset(a, x, sizeof(a))
#define pb push_back
#define fs first
#define sn second
#define ALL(v) begin(v), end(v)
#define SZ(v) ((int) (v).size())
#define lbv(v, x) (lower_bound(ALL(v), x) - (v).begin())
#define ubv(v, x) (upper_bound(ALL(v), x) - (v).begin())
template <typename T> inline void UNIQUE(vector<T> &v){sort(ALL(v)); v.resize(unique(ALL(v)) - v.begin());}
const int INF = 0x3f3f3f3f;
const ll LLINF = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1);
#define FR(i, n) for(int i = 0; i < (n); i++)
#define FOR(i, a, b) for(int i = (a); i < (b); i++)
#define FORR(i, a, b) for(int i = (a); i >= (b); i--)
#define dbg(x) {cerr << #x << ' ' << x << endl;}
#define dbgArr(arr, n) {cerr << #arr; FR(_i, n) cerr << ' ' << (arr)[_i]; cerr << endl;}
template <typename T, typename U>
ostream& operator<<(ostream &os, pair<T, U> p){return os << "(" << p.fs << ", " << p.sn << ")";}

const int MN = 105;
int n, m;
string grid[MN];
int prv[MN][MN], nxt[MN][MN];
bool difA[MN][MN], difB[MN][MN], (*difArr)[MN];
bool resA[MN][MN], resB[MN][MN], (*resArr)[MN];

int stInd[MN][MN];
vector<set<int>> sts;

bool dfs(int x1, int y1){
    if(x1 < 0 || x1 >= n || stInd[x1][y1] == -1) return true;
    set<int> &st = sts[stInd[x1][y1]];
    if(st.find(y1) == st.end()) return true;
    st.erase(y1);
    if(st.empty()) return false;
    if(SZ(st) >= 2) return true;
    int y2 = *st.begin();
    resArr[x1][y2] = true;
    return dfs(x1-1, y2) && dfs(x1+1, y2);
}

bool solveHalf(){
    ms(stInd, -1);
    FR(i, n){
        FR(j, m-1) if(difArr[i][j]){
            if(j && stInd[i][j-1] != -1) stInd[i][j] = stInd[i][j-1];
            else stInd[i][j] = SZ(sts), sts.pb({});
            sts[stInd[i][j]].insert(j);
        }
    }

    FR(i, n) FR(j, m-1) if(stInd[i][j] != -1){
        set<int> &st = sts[stInd[i][j]];
        if(st.find(j) != st.end() && SZ(st) == 1){
            resArr[i][j] = true;
            if(!dfs(i-1, j) || !dfs(i+1, j)) return false;
        }
    }

    FR(i, n) FR(j, m-1) if(stInd[i][j] != -1){
        set<int> &st = sts[stInd[i][j]];
        if(st.find(j) != st.end() && SZ(st) >= 2){
            if(!dfs(i, j)){
                assert(false);
                return false;
            }
        }
    }

    return true;
}

bool solve(){
    cin >> n >> m;
    FR(i, n) cin >> grid[i];
    FR(i, n) if(i & 1) FR(j, m) if(grid[i][j] != '?') grid[i][j] ^= 'W'^'B';
    FR(i, n){
        char ch = '?';
        FR(j, m){
            if(grid[i][j] != '?') ch = grid[i][j];
            prv[i][j] = ch;
        }
        ch = '?';
        FORR(j, m-1, 0){
            if(grid[i][j] != '?') ch = grid[i][j];
            nxt[i][j] = ch;
        }
        FR(j, m){
            if(prv[i][j] == '?' && nxt[i][j] == '?') grid[i][j] = 'W';
            else if(prv[i][j] == nxt[i][j]) grid[i][j] = prv[i][j];
            else if((prv[i][j]^nxt[i][j]) != ('B'^'W')) grid[i][j] = prv[i][j]^nxt[i][j]^'?';
        }
        FR(j, m-1){
            if(prv[i][j] == 'W' && nxt[i][j+1] == 'B') difA[i][j] = true;
            if(prv[i][j] == 'B' && nxt[i][j+1] == 'W') difB[i][j] = true;
        }
        //dbg(grid[i]);
    }

    difArr = difA;
    resArr = resA;
    if(!solveHalf()) return false;
    sts.clear();
    difArr = difB;
    resArr = resB;
    if(!solveHalf()) return false;
    sts.clear();

    FR(i, n){
        assert(grid[i][0] != '?');
        FR(j, m-1) grid[i][j+1] = grid[i][j] ^ (resA[i][j] || resB[i][j])*('W'^'B');
    }

    FR(i, n) if(i & 1) FR(j, m) grid[i][j] ^= 'W'^'B';

    return true;
}

int main(){
    cin.sync_with_stdio(0); cin.tie(0);
    int t; cin >> t;
    while(t--){
        bool res = solve();
        if(res){
            cout << "YES\n";
            FR(i, n) cout << grid[i] << '\n';
        }
        else cout << "NO\n";

        ms(difA, 0);
        ms(difB, 0);
        ms(resA, 0);
        ms(resB, 0);
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3848kb

input:

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

output:

YES
WW
BB
NO
YES
BWW
WWW
WWW

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 31ms
memory: 3680kb

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
BB
WW
BB
YES
WW
BB
BB
BW
WW
BB
NO
NO
YES
B
W
W
B
B
W
W
W
B
B
YES
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
YES
WBW
WWW
WWW
BBB
WWW
WWW
WWW
WWW
YES
W
B
W
B
YES
BBBB
WWWB
YES
BBBBBB
WWWWWB
YES
WWWWW
YES
BWWWWW
WWBBBB
BBBWWW
WWWWWW
YES
W
YES
BWB
BBB
WBB
BBB
WWB
BBB
BBW
BBB...

result:

ok ok (10000 test cases)

Test #3:

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

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
B
W
B
W
B
W
B
B
W
YES
WWWW
BBBB
WWWW
WWWB
WWWW
BBWW
WWWW
WWWW
WWWW
YES
WW
BB
BB
YES
WWWBWWB
WWWWWWW
NO
NO
YES
WWB
BWW
BBB
WWW
WWW
YES
WWWWWWWWW
WWWWWWWWW
WWWWWWWWW
WWWWWWWWW
WWWWWWWWW
WWWWWWWWW
WWWWWWWWW
YES
WBWWWWW
BBBBWWW
WWWWWWW
BBWWWWW
BBBBWWW
WWWBWBB
WWWWWWW
WWWWWWW
WWWWBWW
YES
WW
BB
W...

result:

ok ok (10000 test cases)

Test #4:

score: 0
Accepted
time: 31ms
memory: 3656kb

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
BBBBBBW
BBBBBBB
WBBBBBB
WWWBBBB
BBBBBBB
BBWBBBB
BBBBBBB
YES
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
WWWWWW
YES
BBBBWW
BBBBBB
YES
BBBWBBWW
YES
WB
WW
BB
BB
WW
YES
WWWWW
WWWWW
WWWWW
WWWWW
WWWWW
WWWBB
WWWWB
NO
YES
WWWW
BBBB
WWBB
WWWW
WWWW
BWWW
WWWB
WWWW
WWWW
BBWB
YES
BBBBBB
BB...

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 31ms
memory: 3748kb

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
WWWBBBBBB
WWBBBBBBW
BBBBWWWBB
WWWWWWWWW
WWWBBBWWW
BBWWWWWWW
BBWWWWWWB
YES
BBBBBBB
BWWWWWW
BBBBBBW
YES
BBBWWB
YES
W
W
W
B
W
W
W
NO
NO
YES
WBBBBBB
NO
YES
WBB
BBB
BBB
BBB
BBB
BBB
BBB
NO
YES
BBB
BWB
WWW
BBB
BBW
WWW
BBB
BBB
BBB
BWB
YES
WW
BB
BB
WW
BB
BB
BB
NO
YES
BB
BB
BB
BB
BB
BB
BB
BB
NO
YES
...

result:

ok ok (10000 test cases)

Test #6:

score: 0
Accepted
time: 28ms
memory: 3652kb

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
W
W
B
YES
WWWWWWWBWB
YES
WWWWWWBB
BBBWWBBW
BBBBBBBB
BBBBBBBB
WBBBBBBB
YES
BB
BB
WB
BB
WW
WW
YES
WWWWBWWBWW
YES
BWW
BBB
BBB
WWW
NO
YES
BBBBBB
NO
YES
B
B
B
B
W
B
B
B
B
YES
WWWWWWWWW
WWWWWWWWW
WWWWWWBBB
WBWWWWWWW
WWWWWWWWW
WWWWWWWWW
WWWWWWBWW
WWWWWWWWW
YES
WWWW
WWWW
WWWW
BBWW
WWWW
WWWW
...

result:

ok ok (10000 test cases)

Test #7:

score: 0
Accepted
time: 49ms
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
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWBB
WWWWWWWWWW
WWWWWWWWWW
NO
YES
BBBBWBBBWB
WWWBBBBBWB
BWBBWWBBBB
BBBBWWBBBW
BBBBBWBBWW
BBBBBBBBBB
BBWWWWBBBB
BBBBBWBWBB
BBBBBBBWWW
BBBWWWBBBB
YES
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBB
BBBB...

result:

ok ok (10000 test cases)

Test #8:

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

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
BBBBBWBBBB
WWWWWWWBBB
BBBWWWWBBB
BBBBBBBBBB
WWWBBBWBBB
BBBBBBWWWW
BBBBBBBBBB
BBWWWWBBBB
BBBBBBBBBB
BWBBBBBBBB
NO
YES
WWWWWBBBBB
WWWWWWWBWW
WWWWWWWWWW
WWWBWWWWWW
WWBBWBBBBW
BWWBWWWWWW
WWWWWWWWWW
WWWWWBWWWW
BBBWWBBWBW
WWBWWWWWBB
YES
WWWWWWWWWW
WWWWWWWWWW
WWBBWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW...

result:

ok ok (10000 test cases)

Test #9:

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

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
WWWWBWBBBBBBBWWBWBBBWWWBBBBBWWBWBBWWBBBBBBBBBBBBBBBBBBBWBWWWWBBBBBWWWWBBBWWWWBBBBWWWWWWBWWBBBBWWWWBB
YES
WWBWWWBBBBBBBBWBWBBBBWWBBBBBBBBWWBBBBBWWBBBBBWWWWBBWWWWWWWBBBBBWWBBWBBBBBWBBBBBBWWWWWBWWBBBBBBBBBBWB
YES
WWWWWWBBBBBBBBBBBBBBBWWWBBBBBBBBBBBBBBBBBBWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWW...

result:

ok ok (10000 test cases)

Test #10:

score: 0
Accepted
time: 72ms
memory: 3796kb

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
B
B
B
B
B
B
B
B
B
W
B
B
B
W
B
B
B
B
B
W
W
B
W
W
B
W
B
W
W
W
W
W
B
W
B
B
B
W
W
B
B
B
B
W
B
W
W
B
B
W
B
B
B
B
B
W
B
W
B
W
B
W
B
W
B
W
B
B
B
B
B
B
B
W
B
B
W
B
B
W
B
B
B
B
B
W
B
W
W
W
B
W
B
B
B
B
W
YES
W
W
W
W
W
W
W
W
W
W
B
W
W
B
B
B
W
W
W
B
W
W
W
W
W
B
W
B
W
W
B
W
W
W
W
W
W
W
W
W
W
W
B
W
W
B
...

result:

ok ok (10000 test cases)

Test #11:

score: 0
Accepted
time: 26ms
memory: 4024kb

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
WWWWWWWBBW
WBWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWBWWWWW
WWWWWWWWWW
WWWWBWWWWW
WBWWWWWWWW
WWWWWWWWWW
WWWWWWWWWW
WWWWBBBBBB
BBWWWWWWWW
BBBBBBBBBW
WWWWWWWWWW
WWWWWWWWWW
WWWBBBWWWW
WWWWWWWWWW
WWWWWWWWBB
WWWBBWWWWW
WWWWWWWWBW
WWWWWWWWWW
WWWWWWWBBB
WWWWWWWWWW
WWWWWWWWWW
WBBBWWWWWW
...

result:

ok ok (1000 test cases)

Test #12:

score: 0
Accepted
time: 22ms
memory: 3924kb

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
BBBBBBBBBBBWWWWWWWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBBBBBBBBBBWWWWWWW
BBBBBBBBBBBBBBBBBBBBBWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBWWWWWWWWWWWWWWWWWWWWW...

result:

ok ok (1000 test cases)

Test #13:

score: 0
Accepted
time: 21ms
memory: 16532kb

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
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

result:

ok ok (100 test cases)

Test #14:

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

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
BBBBBBBBBBBBBBBBBBBBBBBWBBBBBBBBBBBBBBBBWBBBBBBBBBWWBBBBBBBBBBBBBBBBBBWWWWWWWBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBWWWWWBBBBBBBBBBBBBBBBBBBBBBBBB...

result:

ok ok (100 test cases)

Test #15:

score: 0
Accepted
time: 17ms
memory: 9924kb

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
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

result:

ok ok (100 test cases)

Test #16:

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

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
WWWWWWWWWW
WWWWWWWWWW
BBBBBBBBBB
WWWWWWWWWW
BBBBBBBBBB
BBBBBBBBBB
BBBBBBBBBW
BBBBBBBBBB
WWWWWWWWWW
WWWWWWWWWW
YES
WWWWWWWWWW
WWWBBBWWBB
WWBBBBBWBW
WWWWWWWWBB
BBBBBBBWWW
BBBBWBBBBW
BBWBWBBBBB
BBBBBBBBBB
BBWWWWWWWW
BBBBBBBBWW
YES
BBBBBBBWWW
BBBBBWWWBB
BBWWBBBBBB
WWWWWWWWBB
BBWWBBBBBW
BBBBBBBWBB
WW...

result:

ok ok (10000 test cases)

Test #17:

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

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
BBWWWWWWWB
BBBBBWWWBB
BBBBWWWWWW
WWWWWWWWWW
WWBBBBBBWW
BBBBWWWBBB
WWWWWWWBWW
BBBBBBBBWW
WWWWWWWWWW
WBBBBBWWWW
YES
BBBWWWWWWW
BBBBBBBBWW
BBBBBBBWWW
BBBBBWWWWB
BWBBWWWWBB
WWWBBWWWBB
BW...

result:

ok ok (10000 test cases)

Test #18:

score: 0
Accepted
time: 47ms
memory: 3752kb

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
WWWWWWBBWW
WWWWBWWWWW
WBBBBBWWWW
WWBBBBBWWB
WWWBBWWWWW
WWWWWWWWWB
BWWWBBWBBB
BBBBBWWWBB
WWWWBWWWWW
WWBBBWBBBB
WWBBBBBWBW
WWBBWBBWBB
BBBBWWWWBB
WBBBBBWWWW
WBBBWBBWBB
WWWWWBWWWW
WWWWBBWBBB
WWWWWWWWBB
BWWWBBBWWW
BWWWWWWWWW
BBBBWWWWWW
BBBBBBWWBW
BBWWWBBWWW
BBBBWBWWBB
BBBBBBBBBW
WWWBWWBWBW
WWWWWWBBBB...

result:

ok ok (1000 test cases)

Test #19:

score: 0
Accepted
time: 52ms
memory: 3752kb

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
BBBBBBBBBBBWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBBBBBWWBBWWWWWWWWWWWWWWWWWBBBWWWWWWBBBBBBBBBBBBBB
BBBBBBBBWWWWWWWWBBBBBBWBWBBWWWWWWWWWWWWWWWWBBBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBB
BBBBBBBWWWWWWWBWWWWWWWWWWWWWWBBBBBBBBBBBBBBBWWWWWWWWWWWBBBBBBBBBBBBBWWWWWBBBBBBBBBBBWWWWWWWWWW...

result:

ok ok (1000 test cases)

Test #20:

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

input:

100
100 100
????W?????W?W????B???W???B????????????????????????????????WW????W?W??????W?BB??B??????????WB????W???
?????B??W???????????????B?????????B????????????????????????W??????????????BW??????B?????????????????
???B????????????????B????????????????????B??????B??????W?BB?????????????????B??????W??...

output:

YES
WWWWWWWWWWWWWWWWWBBBBWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWWWWBBBBBBBBBBBBBBBBWBBBBBWWWW
BBBBBBBBWWWWWWWWWWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWWWBWWWWWWWBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWBBBBBBW...

result:

ok ok (100 test cases)

Test #21:

score: 0
Accepted
time: 47ms
memory: 3960kb

input:

100
100 100
BBBW??W??WBWBW?B????B???BWWB?BB??BB?WWBW?W?????BBBWB?BBBB?WBBBW??WWWW????B?W?B??W?W?BB??W??W?BBB??BB
WWB??WW??B?W?WWWWWW?BWW??BW??BBBWWBB?W?W?BBWWWWBWBW??B?WB?B?BBB?W?WWWB???W??W?BB?BWWBW?WW?BW???W??WB
WBBBWW?W?BW????W??B?BBW?B??WW?BB??B?WWW????W?WW??BW??BBW?BBB?BB??WW??W???WWB??WWWW?BB?...

output:

YES
BBBWWWWWWWBWBWWBBBBBBBBBBWWBBBBBBBBBWWBWWWWWWWWBBBWBBBBBBBWBBBWWWWWWWWWWWBBWWBBBWWWWBBBBWWWWWBBBBBBB
WWBBBWWWWBBWWWWWWWWWBWWWBBWWWBBBWWBBBWWWWBBWWWWBWBWWWBBWBBBBBBBBWWWWWBBBWWWWWWBBBBWWBWWWWWBWWWWWWWWB
WBBBWWWWWBWWWWWWWWBBBBWWBBBWWWBBBBBBWWWWWWWWWWWWWBWWWBBWWBBBBBBBBWWWWWWWWWWBBWWWWWWBBBWWWWBBBW...

result:

ok ok (100 test cases)

Test #22:

score: 0
Accepted
time: 46ms
memory: 3880kb

input:

100
100 100
?WBWW?W???WWWW?WWWB?BBBBBWWWWBBWWB??B?BB?BWBBWBBBWWWBB?BW?BWBBB??BB???BWBBB?BW?WWBWWWWB??B?BWWWBWBBW
WWW?W?WWWW???BBB??????B?BWBWBB?W??B?W?WWWBWBW?W??WW?B?WBBWW?WWWW??W???BWWB?WWW?W?BBBW??WBBWBW??WW?B?
??BWW?WBBBWBWW?W?WWWW?B???BBBBWBBBBW??W?WWW?BW?BWBWWBBWBBB?BBWBBBB?WBBBBWW?WWWWW??W?WB...

output:

YES
WWBWWWWWWWWWWWWWWWBBBBBBBWWWWBBWWBBBBBBBBBWBBWBBBWWWBBBBWWBWBBBBBBBBBBBWBBBBBWWWWBWWWWBBBBBBWWWBWBBW
WWWWWWWWWWWWWBBBBBBBBBBBBWBWBBWWWWBBWWWWWBWBWWWWWWWWBBWBBWWWWWWWWWWWWWBWWBBWWWWWWBBBWWWWBBWBWWWWWWBB
BBBWWWWBBBWBWWWWWWWWWWBBBBBBBBWBBBBWWWWWWWWBBWWBWBWWBBWBBBBBBWBBBBBWBBBBWWWWWWWWWWWWWBWWWWWBBB...

result:

ok ok (100 test cases)

Test #23:

score: 0
Accepted
time: 16ms
memory: 23248kb

input:

100
100 100
WWWWBBBWWBBBW?BBW?BBB?WWBBB?WWBBBWBBBWBBWBWBWWWWWBBWWWBWBBWWBWBW?BBWBBWBW?WWWBBWWWWWWWW?BW?BBWBBW??B
BWWWWBBB?WBBWW?WWB?BBWBB?BBBBBBBWB?WWBWW?WWBBWWWWBBBWBWBWWWBWBWBWWBWWWBBB?B??WBWWWBBBBBBWBBBBW?WB?WB
B?WBWBBBBWWWWBBWWWB?BBWB??WWBWBB?WBBBBBWWBWW?WBBBBBBBWWBWWWWW?BBWBBB?BBB?WBWBB?BBB??BB...

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
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO

result:

ok ok (100 test cases)

Test #24:

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

input:

100
100 100
BBBWW?BWWW?WB?W?WW?????B?WBWWWBWWWBW?BWW?B???B?WWW??BB???BWB??BBB??WWW?W?W??BBBWBWB?W?BBBB??W??B?WWW
?B?WW????W?WB?W??B???WWW?W?B?WBBBWBWB?W?WWWBW?BBWWBBBW?B?W?WB?WWB?BWWWWW??WBWB?B?WBW??WB?WBWWW???B?B
??BWW?WWBWWB??WB?BW?WWBWWW??W????W???W?WB?BWBB?BWBBB?BW?W?WWWWBWBW?WBWBWBW??BBWWW?WBB?...

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
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO

result:

ok ok (100 test cases)

Test #25:

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

input:

100
100 100
?BB???B?BBB?WB??B?B??B?BW??BB?BWWW?B?B???WB??B??BB?BBBB?BB????BWB?B??BBBBBBBBBW??BB?BB?B??BBW?B??B?W
?BBB?B?B?BBBBBB?B????B?BB????B??B??BB??BBB?W?BB??BBBBBBB??B??BBB???B?????B?WBB?B??BBBBB?BBBB?BB?B???
BBBW??B??B????BB??BB????B??B??BBBB?BB?B??B???WBB??B?BWB?B?B?B?B?BB?BBB?BWB?????BW???BB...

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
YES
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBB...

result:

ok ok (100 test cases)

Test #26:

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

input:

100
100 100
??B?????????WBWB?B??B????????WB?WW????WBW???W??????????B???BWW?????W??W?B?????W???B????WB???B?W?W???
W?BW??W??W???WWB???BWBW?WB??WWWB?B?WB??B???BWW??B??B????????B??BB??B?????B??W?W??W?B???W?????B????BW
??W????B???BB????????????WB????WB???B??BBB????B???WWB?????WW??B????BBW??W?W???BW?W?W??...

output:

NO
NO
YES
BBBBBBBBBBBBBBWWBBBBBBBBBWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWBBBBBWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBWWBBBBBBBBBBBBBBBBBBBBWWWWWWWWWWWBBBBBBWWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBWWWWBB...

result:

ok ok (100 test cases)

Test #27:

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

input:

100
100 100
?????W???????????????????B????W????W????????????WB??W?????????????W?????????????B??????????W?BW?W???
W?WW????BB????????????????W????????????????????????W????????????????W?W???????????????W????W????????
????????????W??????????WW????????????????????????W??????W???????B?????????B????W??????...

output:

YES
WWWWWWWWWWWWWWWWWWWWWWWWWBBBBBWWWWWWWWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBBBBBWWBWWWWWW
WWWWWWWWBBBBBBBBBBBBBBBBBBWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWBBBBBBBBBBBBBBBWWWWWWWBBBBBBBB...

result:

ok ok (100 test cases)