QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#89961#5070. Check Pattern is Badxin_chenWA 14ms3424kbC++141.9kb2023-03-21 21:09:562023-03-21 21:09:57

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-03-21 21:09:57]
  • 评测
  • 测评结果:WA
  • 用时:14ms
  • 内存:3424kb
  • [2023-03-21 21:09:56]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
#define LL inline ll
#define I inline int 
#define V inline void
#define FOR(i,a,b) for(int i=(a),i##i=(b);i<=i##i;++i)
#define ROF(i,a,b) for(int i=(a),i##i=(b);i>=i##i;--i)
// #define gc (_ft==_fs&&(_ft=(_fs=buf)+fread(buf,1,1<<20,stdin),_ft==_fs))?0:*_fs++
#define gc getchar()
using namespace std;
const int N=110,M=1e5,inf=998244353;
char buf[1<<20],*_fs,*_ft;
LL read(){
	ll w=0,p=0; char ch=gc;
	while(!isdigit(ch)) w=ch=='-',ch=gc;
	while(isdigit(ch)) p=p*10+ch-'0',ch=gc;
	return w?-p:p;
}
int n,m;
char ch[N][N];
V sol(){
    FOR(i,1,n) FOR(j,1,m) if(ch[i][j]=='?'){
        int x=0,y=0;
        if(ch[i][j+1]=='B') x++;
        if(ch[i][j-1]=='B') x++;
        if(ch[i+1][j]=='B') x++;
        if(ch[i-1][j]=='B') x++;

        if(ch[i][j+1]=='W') y++;
        if(ch[i][j-1]=='W') y++;
        if(ch[i+1][j]=='W') y++;
        if(ch[i-1][j]=='W') y++;       

        if(x>=y) ch[i][j]='B';
        else ch[i][j]='W';
    }

    return ;
}
I ck(){
    FOR(i,1,n) FOR(j,1,m) {
        if(ch[i-1][j-1]=='W'&&ch[i-1][j]=='B'&&ch[i][j-1]=='B'&&ch[i][j]=='W') return 0;
        if(ch[i-1][j-1]=='B'&&ch[i-1][j]=='W'&&ch[i][j-1]=='W'&&ch[i][j]=='B') return 0;
    }
    return 1;
} 
int main(){
    int T=read();
    while(T--){
        n=read(),m=read();
        FOR(i,1,n) scanf("%s",ch[i]+1);
        sol();
        if(!ck()) cout<<"NO"<<'\n';
        else {
            cout<<"YES"<<'\n';
            FOR(i,1,n) {
                FOR(j,1,m) cout<<ch[i][j];
                cout<<'\n';
            }
        }
    }


    return 0;
}
/*
5
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
?
*/

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 3416kb

input:

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

output:

YES
BB
BB
NO
YES
BWW
WWW
WWW

result:

ok ok (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 14ms
memory: 3424kb

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
WB
BB
YES
BB
BB
BB
BW
WW
BB
NO
NO
YES
B
W
B
B
B
W
W
W
B
B
YES
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
WWWW
YES
WBW
WBB
WBB
WBB
WWW
WWW
WWW
WWW
YES
W
B
B
B
YES
BBBB
WBBB
YES
BBBBBB
BBWWWB
YES
WWWWW
NO
YES
W
YES
BWB
BBB
WBB
WBB
WWB
BBB
BBW
BBW
YES
BBBBBBB
BBBBBBB
BBBBBBB
...

result:

wrong answer ans finds the answer, but out doesn't (test case 12)