QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#378091#5071. Check Pattern is GoodInfinityNSRE 181ms5124kbC++208.0kb2024-04-06 01:08:292024-04-06 01:08:29

Judging History

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

  • [2024-04-06 01:08:29]
  • 评测
  • 测评结果:RE
  • 用时:181ms
  • 内存:5124kb
  • [2024-04-06 01:08:29]
  • 提交

answer

#include<bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
typedef long long ll;
using namespace std;
typedef pair<int,int> pii;

const int mod=998244353;
inline int add(int x,int y){int ret=x+y;if(ret>=mod)ret-=mod;return ret;}
inline int sub(int x,int y){int ret=x-y;if(ret<0)ret+=mod;return ret;}
inline int mul(int x,int y){return ((ll)x*y)%mod;}
inline int step(int base,int pw){int ret=1;while(pw){if(pw&1)ret=mul(ret,base);base=mul(base,base);pw>>=1;}return ret;}
inline int invv(int x){return step(x,mod-2);}


const int maxn=110;
const int maxv=maxn*maxn;

struct edge{
    int a,b,f,c;
};
int inf=1e9;
int rez,level[maxv],start[maxv],sink,source;
vector<edge>e;
vector<int>vect[maxv];
void add_edge(int u,int v,int c){
    if(c==1)rez++;
    vect[u].pb(e.size());
    e.pb({u,v,0,c});
    vect[v].pb(e.size());
    e.pb({v,u,c,c});

    ///printf("%d %d %d | EDGE \n",u,v,c);
}
void init_mrezu(){
    e.clear();
    for(int i=source;i<=sink;i++){
        vect[i].clear();
    }
}
int bfs(){
    for(int i=source;i<=sink;i++)level[i]=0;
    level[source]=1;
    queue<int>q;
    q.push(source);
    while(q.size()){
        int x=q.front();
        q.pop();
        for(int i=0;i<vect[x].size();i++){
            int id=vect[x][i];
            if(e[id].f==e[id].c || level[e[id].b])continue;
            level[e[id].b]=level[x]+1;
            q.push(e[id].b);
        }
    }
    return level[sink];
}
int sflow(int x,int flow){
    if(x==sink)return flow;
    for(;start[x]<vect[x].size();start[x]++){
        int id=vect[x][start[x]];
        if(e[id].f<e[id].c && level[x]+1==level[e[id].b]){
            int tmp=sflow(e[id].b,min(flow,e[id].c-e[id].f));
            if(tmp){
                e[id].f+=tmp;
                e[id^1].f-=tmp;
                return tmp;
            }
        }
    }
    return 0;
}
int get_flow(){
    int ret=0;
    while(bfs()){
        for(int i=source;i<=sink;i++)start[i]=0;
        int pom;
        while(pom=sflow(source,inf))ret+=pom;
    }
    return ret;
}


int a[maxn][maxn],n,m,ind[maxn][maxn],b[maxn][maxn];
pii revind[maxv];
void menjaj(int &x){
    if(x==0)x=2;
    else if(x==2)x=0;
}
void labeluj(){
    for(int i=1;i<n;i++){
        for(int j=1;j<m;j++){

            int cnt[3]={0,0,0};
            cnt[a[i][j]]++;cnt[a[i][j+1]]++;
            cnt[a[i+1][j]]++;cnt[a[i+1][j+1]]++;

            if(cnt[0] && cnt[2])b[i][j]=-1;
            else if(cnt[0]){
                if(cnt[0]<4)b[i][j]=0;
                else{
                    rez++;
                    b[i][j]=-1;
                }
            }
            else if(cnt[2]){
                if(cnt[2]<4)b[i][j]=2;
                else{
                    rez++;
                    b[i][j]=-1;
                }
            }
            else b[i][j]=1;

            ///printf("%d %d %d %d |",b[i][j],cnt[0],cnt[1],cnt[2]);

        }
        ///printf("\n");
    }
    ///printf("BNIZ\n");
}
int get_color(int x){
    pii pos=revind[x];
    if(ind[pos.ff][pos.ss]!=x)return 2;
    return b[pos.ff][pos.ss];
}


int mat[4][maxn][maxn];
void upisi(int c,int id,pii pos){
    ///printf("%d %d AAA\n",pos.ff,pos.ss);
    mat[id][pos.ff][pos.ss]=c;
    mat[id][pos.ff+1][pos.ss]=c;
    mat[id][pos.ff][pos.ss+1]=c;
    mat[id][pos.ff+1][pos.ss+1]=c;
}
void ispisi_mat(int id){

    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            printf("%d",mat[id][i][j]);
        }
        printf("\n");
    }
    printf(" MAT\n");

}
void solve(){

    /*for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            printf("%d",a[i][j]);
        }
        printf(" OP\n");
    }*/


    rez=0;
    labeluj();

    int dx[8]={-1,-1,-1,0,0,1,1,1};
    int dy[8]={-1,0,1,-1,1,-1,0,1};

    int indcnt=0;
    for(int i=1;i<n;i++){
        for(int j=1;j<m;j++){
            if(b[i][j]==-1)continue;

            ind[i][j]=++indcnt;
            revind[indcnt]={i,j};
            if(b[i][j]==1){
                ++indcnt;
                revind[indcnt]={i,j};
            }
        }
    }
    source=0;
    sink=indcnt+1;
    init_mrezu();

    for(int i=1;i<n;i++){
        for(int j=1;j<m;j++){

            if(b[i][j]==0){
                add_edge(source,ind[i][j],1);
            }
            if(b[i][j]==1){
                add_edge(source,ind[i][j],1);
                add_edge(ind[i][j]+1,sink,1);
                add_edge(ind[i][j],ind[i][j]+1,inf);
            }
            if(b[i][j]==2){
                add_edge(ind[i][j],sink,1);
            }

            if(b[i][j]==-1 || b[i][j]==2)continue;

            for(int k=0;k<8;k++){
                int idx=i+dx[k];
                int idy=j+dy[k];
                if(idx<1 || idx>=n || idy<1 || idy>=m || b[idx][idy]==-1 || b[idx][idy]==0)continue;

                add_edge(ind[i][j],ind[idx][idy]+(b[idx][idy]==1),inf);
            }

        }
    }

    rez-=get_flow();

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)if(a[i][j]==1)a[i][j]=2;

    vector<int>cand;
    for(int i=source+1;i<sink;i++){
        if(level[i] && get_color(i)!=2)cand.pb(i);

        /*if(level[i]){
            if(get_color(i)!=2)upisi(1,1,revind[i]);
            if(get_color(i)!=2)upisi(1,3,revind[i]);
            if(get_color(i)!=2)printf("%d %d | %d %d WHITE\n",revind[i].ff,revind[i].ss,b[revind[i].ff][revind[i].ss],i);
        }
        else{
            if(get_color(i)!=0)upisi(2,2,revind[i]);
            if(get_color(i)!=0)upisi(2,3,revind[i]);
            if(get_color(i)!=0)printf("%d %d | %d %d black\n",revind[i].ff,revind[i].ss,b[revind[i].ff][revind[i].ss],i);
        }*/
    }
    /*ispisi_mat(1);
    ispisi_mat(2);
    ispisi_mat(3);*/

    for(int i=0;i<cand.size();i++){
        pii pos=revind[cand[i]];

        ///printf("%d %d %d POS\n",pos.ff,pos.ss,cand[i]);

        a[pos.ff][pos.ss]=0;
        a[pos.ff][pos.ss+1]=0;
        a[pos.ff+1][pos.ss]=0;
        a[pos.ff+1][pos.ss+1]=0;
    }

    int rez2=0;
    for(int i=1;i<n;i++){
        for(int j=1;j<m;j++){

            int cnt[3]={0,0,0};
            cnt[a[i][j]]++;cnt[a[i][j+1]]++;
            cnt[a[i+1][j]]++;cnt[a[i+1][j+1]]++;

            if(cnt[0] && cnt[2])continue;
            rez2++;

        }
    }

    ///printf("%d %d REZ2\n",rez,rez2);

    if(rez!=rez2){

        for(int i=0;i<cand.size();i++){
            pii pos=revind[cand[i]];

            printf("%d %d POS\n",pos.ff,pos.ss);

            a[pos.ff][pos.ss]=0;
            a[pos.ff][pos.ss+1]=0;
            a[pos.ff+1][pos.ss]=0;
            a[pos.ff+1][pos.ss+1]=0;
        }

        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                printf("%d",a[i][j]);
            }
            printf(" OP\n");
        }

    }

}

int main(){

    ///freopen("test.txt","r",stdin);

    int t;
    scanf("%d",&t);

    int flag=0;
    if(t>=29)flag=1;
    int ct=0;
    flag=0;
    while(t--){
        ct++;
        scanf("%d %d",&n,&m);
        for(int i=1;i<=n;i++){
            string s;
            cin>>s;
            for(int j=1;j<=m;j++)
                if(s[j-1]=='?')a[i][j]=1;
                else if(s[j-1]=='W')a[i][j]=0;
                else if(s[j-1]=='B')a[i][j]=2;

            if(flag && ct==29)cout<<s<<endl;
        }

        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if((i+j)%2){
                    menjaj(a[i][j]);
                }
            }
        }

        solve();

        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if((i+j)%2){
                    menjaj(a[i][j]);
                }
            }
        }

        if(!flag){

        printf("%d\n",rez);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(a[i][j]==0)printf("W");
                else if(a[i][j]==2)printf("B");
            }
            printf("\n");
        }

        }

    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

1
BW
WB
1
BWB
WBB
BBW
4
BWB
WBW
BWB

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 42ms
memory: 3936kb

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:

3
BB
BW
WW
WW
BW
WB
BW
WB
BB
2
BW
WB
BW
BW
WW
WB
9
WBBBWWB
WBWBWWW
BWBBWWB
WBWWBWW
BBWBBWB
WWBBWWW
BWBWBWB
WWWWBBW
BBWBBWW
BBWBWBB
6
BWWBWWB
WBBWWWB
BWWBBBW
BBBWBBB
0
B
W
B
B
B
W
W
W
B
W
15
BWWW
WBWB
WWWB
WBBW
BWWB
BWBW
WBWB
BWBW
WBWW
BWBW
8
WBW
WWB
WBW
BWB
WBW
WBW
BWB
WWW
0
W
B
B
W
1
BBWB
WWBB
3
BW...

result:

ok ok (10000 test cases)

Test #3:

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

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:

21
BBWWBW
WWBBWB
BWBWBW
BBWBWB
WWBWWB
BBWBBW
BWBWWB
WBBWBW
BWWBBW
0
W
W
B
W
B
W
B
W
B
W
15
WBWB
BWBW
WBWB
BWBB
WBWW
WBWB
WWBW
WBWB
BWWW
1
BW
WB
BB
4
BWBBWWB
WBWWBBW
20
WBWBWWWWW
BWBWBBWWW
WBWBBWBWW
WWBWWBWWW
WBBWBWBWW
BWBBWWWWW
WBWBWBWWW
WWWWBWWWW
BWWWWWWWB
28
WWBBWWWWWB
WBWBWBWBBW
BWBWBWBWBW
WBWWBW...

result:

ok ok (10000 test cases)

Test #4:

score: 0
Accepted
time: 37ms
memory: 3884kb

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:

15
WBWBBBW
BWBWBBW
WBBBBWB
WWWBWBW
BBBWBBB
BBWBWWB
BWBWBBW
13
WWWWWB
WBWWBW
BWWWWB
WWWBWW
WWBWWW
WBWBWB
WBWWBW
WWBBWW
WWWWBW
WWWBWB
4
WBWBWW
BWBWBB
0
BWBWBWWW
1
WB
WB
BW
BB
BW
12
WBBWB
BWWBW
WBBWB
WWWWB
WBWBW
BWBBW
WBWWB
7
BBWBW
BWBWW
WWWBB
WBBWB
BWBWW
BBWBB
BWWWB
BBWBB
9
WWWW
WBWB
WWBW
WBWB
BWWB
BW...

result:

ok ok (10000 test cases)

Test #5:

score: 0
Accepted
time: 37ms
memory: 3920kb

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:

0
B
18
WBWBWWBWB
BWBWBBWBW
BBBBWBWBW
WWWWBWWWB
WWBBWBWBW
WBWWWBWWW
BWWWBWBWB
5
WBBBBBW
BWBWWWB
BBWBBBW
0
BBBWWB
0
W
W
W
B
B
W
B
23
WWBBWWBW
WWWWBBWB
BBWBWWWW
WWBWBWBW
BBWBWBWB
BWBWBWWB
BWBWWBWB
BBWBBWBW
19
WWWBWBBW
WBWWBWBW
WWBWBWBW
WWWWBWWB
WBWBWBBW
BWBBWBWB
WBWWBWWB
WWBWWBWW
WBWBWWWW
WWWWBBWB
0
WB...

result:

ok ok (10000 test cases)

Test #6:

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

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:

0
W
B
B
B
W
W
B
W
B
0
WWBWBWBBWB
10
BWWWBWBW
WBWWWBWW
BWBWBWBW
BBWBBBBB
WBBWBBBW
2
WB
BW
WB
WB
WW
WB
0
WWBWBWBBWW
6
BWB
WBW
BWB
WBW
26
WWBBBWWBWB
WWWBWBBWBW
BWWBWWWBWW
WBWBWBBBBB
BWBBBBWBBW
WWWBWWBWBB
WWBBBWWBBB
BBWBWBWBBW
BWBWBWBWBW
WBBWWBWBWB
0
BWBWBW
4
WBBWW
BWWWW
WWWWB
WWWBW
WWBBW
WBWWB
0
B
B
B
...

result:

ok ok (10000 test cases)

Test #7:

score: 0
Accepted
time: 142ms
memory: 4204kb

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:

20
BWBWWBWWBW
WBWBWWBBWW
BBBWWWWWWW
WWBBWWWWWW
WBWWBWWWBW
BWWWWWWWBW
WBBWWWBBWB
WBWWWBWWBW
WWWWBWWBWB
WWWBWWBWWB
24
WBBWBBWWWB
BWWWWBWBBW
WBBBWWBBWB
WBWBWBWWBW
BWWBBWBWWB
WWBWBBWWWB
BBWBBWBWBW
WWBWWWWBWB
BWBWWWWBWW
WWWWWWBWWB
33
WBWWBWBWWW
BWWBWBWBWB
WBWWBWWBWW
WWBBWWBWWB
BWBBWWBWWB
WWWWBWWWBW
BWBBW...

result:

ok ok (10000 test cases)

Test #8:

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

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:

34
WBBBBWBBBW
BWWBWBWBWB
BBBWBWBBBW
WBWBWBBBWB
WWBBBWWBBB
WBWBWBBWBW
BWBWBBBBWB
WBWBWWBWBW
BWBBBBWBBB
BWBBBBBBBB
31
BWWBWWBWBW
WBBWWBBBWB
BWWBBWWBWB
BWWBWBBWBW
BWBWWWWBWB
BBWBWBWWBB
BWBBBWBBWB
BBWWBBWBWB
WBWBWBBWBW
WBBWBBWWWB
33
WBWWWBBWBB
BWWBBWWBWW
WBBWWBWBWW
BWWBBWBWBB
WWBWWBBBWW
BBWBWBWWWW
BWBWB...

result:

ok ok (10000 test cases)

Test #9:

score: 0
Accepted
time: 40ms
memory: 3816kb

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:

0
WWWWBWBWBBBBBWBBWBBWWWBBBBBBWWBWBWWWBWBBBBBBBWBBBBBWBBBWBWWWBBBBBBWWBWBBBWBWBBBWBWBWWWBBWWBWBWWWBWBW
0
BWBWBWBWBBBBBBWBWBBWBWWBBBBBBBBWBBBBBWWWBWBBBWBWWBBWBWBWWWBBBBBWWBBWBBBWBWBBBWBBWWWWBBWWBWBBBBBBBBWB
0
WWBWBWBBBWBBBBBWBWBWBWWWBWBWBWBBBWBWBWBWBBWWBWBBBWBWBWBWBWBWBBBWBBBBBBBWBBBWBWBWWWBWBWWWBBBW...

result:

ok ok (10000 test cases)

Test #10:

score: 0
Accepted
time: 138ms
memory: 3856kb

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:

0
W
B
B
W
B
B
B
W
B
B
B
B
W
B
B
B
B
W
B
W
B
B
B
W
B
W
B
B
B
B
W
W
B
W
B
B
B
B
B
W
W
W
B
W
B
B
B
W
W
W
B
B
B
B
B
W
B
W
B
W
W
B
W
B
B
B
W
W
B
B
B
B
B
W
B
W
W
B
B
W
B
W
W
B
B
W
B
B
B
B
B
W
B
B
B
B
B
W
B
W
0
B
W
B
W
B
W
W
W
W
W
B
W
B
W
B
B
B
W
B
B
W
W
W
W
B
W
B
W
W
W
B
W
W
W
W
W
B
W
W
W
B
W
B
W
B
B
W
B
...

result:

ok ok (10000 test cases)

Test #11:

score: 0
Accepted
time: 181ms
memory: 4976kb

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:

335
WWWBBWWWBW
WBWBWBWBWW
WBBWBWWWBW
WBBBWWWBWB
BWWWWWWWBW
BWWWWBWBWB
WBWBWWWWBW
WWBWBBWWWB
WWBBWWBWBW
WBWBWWWBWB
BWBWBWWWWB
WBWWWBWWBW
WBWBBWBWWW
BWWBBWWBWW
BWBWWBBWBW
WBWWWWWBWW
BWWWBWWWBW
WBWBWBBWWW
BWBWBWBWBW
WWWBWWWWBW
BWBWWWBWWB
WBWWWWWWBW
BWBWWBBWBW
WBWBBWWWWB
WWWBWWBWWW
BBBWBBWBWB
WBWBWWBWBW...

result:

ok ok (1000 test cases)

Test #12:

score: 0
Accepted
time: 168ms
memory: 5124kb

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:

330
BBWBWBWWBBBBWBWBBBWBWWWWBBBWBWBBWBWWBWBWWBWWBWBWBWBWWBWBBBWWBWBWBWBWWBWWWBWWBWBWBBWWWBBBBWWBBWBWBBWB
BWBWBWWWWBWBBBBWWWBWWBWBWBWBWWBWBWBBWWWBWBWWBBWBWBWBBWBWBWWBWBBBBWBWBWBWWWBBWBWBWBWBBBWWWBBWWBWBWWBW
WBWBBBWWBWBBBWWWWBBWBWBBBWWWBBWBWBBBWBBWBWBBWWBWBWBWBWBBWBBWWWWWBBBBWWBWBWBBBWBWWWBBBWBWWBWBWW...

result:

ok ok (1000 test cases)

Test #13:

score: -100
Runtime Error

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:

4352
BWWWWWBBWWWWBBBWBWWWBBWBWBWWWBWWBWBWWBWWBWBWBWWBWBWBWWBWBBWBBWBWBWWWWBWWBWWBWBWWWBWBBWWBWBWWBWWWBWWB
BBWBWBWWBWBBWBWWWBWWWWBWBWBBWWBBWBWBWWBBWWWBBBWBWWBWBBWWWWBWBWWBWBWBBWBBWBBWBWBWWWBWBWWWBWBBWWWBWBBW
WWBWBWBWWBWBBWBWBWBWBBBWWBWWBBWWBWBWBWWBWBWBWBBWWWBWBWBWWWWWWBWWBWWBWBWWBWWBWBWBWBWWBWWBBBWWW...

result: