QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#841242#9926. Flipping Pathsrqoi031WA 1ms4060kbC++202.1kb2025-01-03 15:46:422025-01-03 15:46:43

Judging History

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

  • [2025-01-03 15:46:43]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:4060kb
  • [2025-01-03 15:46:42]
  • 提交

answer

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<string>
constexpr int N{200};
char str[N+5];
int a[N+5][N+5];
int b[N+5][N+5];
void solve() {
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++) {
        scanf("%s",str+1);
        for(int j=1;j<=m;j++) {
            a[i][j]=str[j]=='B';
        }
    }
    const auto flip([&]()->void {
        for(int i=1;i<=n;i++) {
            for(int j=1;j<=m;j++) {
                a[i][j]^=1;
            }
        }
    });
    const auto check([&]()->bool {
        std::vector<std::string> opt;
        const auto copy([&]()->void {
            for(int i=1;i<=n;i++) {
                std::copy(a[i]+1,a[i]+m+1,b[i]+1);
            }
        });
        const auto pred([&]()->bool {
            for(int i=1;i<=n;i++) {
                for(int j=1;j<=m;j++) {
                    if(b[i][j]==1) {
                        return false;
                    }
                }
            }
            return true;
        });
        const auto move([&]()->void {
            std::string s;
            int j{1};
            for(int i=1;i<n;i++) {
                int k{m};
                while(k>=1&&b[i][k]==0) {
                    --k;
                }
                b[i][j]^=1;
                while(j<k) {
                    b[i][++j]^=1;
                    s.push_back('R');
                }
                s.push_back('D');
            }
            b[n][j]^=1;
            while(j<m) {
                b[n][++j]^=1;
                s.push_back('R');
            }
            opt.emplace_back(s);
        });
        copy();
        while(opt.size()!=4&&!pred()) {
            move();
        }
        if(pred()) {
            puts("YES");
            printf("%d\n",int(opt.size()));
            for(auto &s:opt) {
                printf("%s\n",s.c_str());
            }
            return true;
        }
        return false;
    });
    if(!check()&&(flip(),!check())) {
        puts("NO");
    }
}
int main() {
    int t;
    scanf("%d",&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: 3804kb

input:

4
3 3
WBB
BWB
BBW
1 5
WWWWW
2 2
BB
BB
4 1
W
B
B
W

output:

YES
2
RRDD
DDRR
YES
0
YES
0
NO

result:

ok ok (4 test cases)

Test #2:

score: 0
Accepted
time: 1ms
memory: 4060kb

input:

323
1 2
BB
1 2
BW
1 2
WB
1 2
WW
2 1
B
B
2 1
B
W
2 1
W
B
2 1
W
W
1 3
BBB
1 3
BBW
1 3
BWB
1 3
BWW
1 3
WBB
1 3
WBW
1 3
WWB
1 3
WWW
2 2
BB
BB
2 2
BB
BW
2 2
BB
WB
2 2
BB
WW
2 2
BW
BB
2 2
BW
BW
2 2
BW
WB
2 2
BW
WW
2 2
WB
BB
2 2
WB
BW
2 2
WB
WB
2 2
WB
WW
2 2
WW
BB
2 2
WW
BW
2 2
WW
WB
2 2
WW
WW
3 1
B
B
B
3 ...

output:

YES
1
R
NO
NO
YES
0
YES
1
D
NO
NO
YES
0
YES
1
RR
NO
NO
NO
NO
NO
NO
YES
0
YES
0
NO
YES
1
RD
NO
YES
1
DR
NO
YES
2
RD
DR
NO
NO
YES
2
RD
DR
NO
YES
1
DR
NO
YES
1
RD
NO
YES
0
YES
1
DD
NO
NO
NO
NO
NO
NO
YES
0
YES
1
RRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
0
YES
0
NO
NO
NO
NO
NO
YES
1
RRD
NO
NO
NO
...

result:

ok ok (323 test cases)

Test #3:

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

input:

278
2 4
BWBW
WWBB
2 4
BWBW
WWBW
2 4
BWBW
WWWB
2 4
BWBW
WWWW
2 4
BWWB
BBBB
2 4
BWWB
BBBW
2 4
BWWB
BBWB
2 4
BWWB
BBWW
2 4
BWWB
BWBB
2 4
BWWB
BWBW
2 4
BWWB
BWWB
2 4
BWWB
BWWW
2 4
BWWB
WBBB
2 4
BWWB
WBBW
2 4
BWWB
WBWB
2 4
BWWB
WBWW
2 4
BWWB
WWBB
2 4
BWWB
WWBW
2 4
BWWB
WWWB
2 4
BWWB
WWWW
2 4
BWWW
BBBB
2 ...

output:

NO
NO
NO
NO
NO
NO
YES
3
RRRD
RRDR
DRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
RRDR
DRRR
NO
NO
NO
YES
1
DRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
RRRD
DRRR
NO
NO
YES
2
RRRD
DRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
1
DRRR
NO
NO
NO
YES
2
RRDR
DRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
3
RRRD
RRDR
DRR...

result:

ok ok (278 test cases)

Test #4:

score: 0
Accepted
time: 1ms
memory: 3832kb

input:

333
3 3
BBW
WWB
BWB
3 3
BBW
WWB
BWW
3 3
BBW
WWB
WBB
3 3
BBW
WWB
WBW
3 3
BBW
WWB
WWB
3 3
BBW
WWB
WWW
3 3
BBW
WWW
BBB
3 3
BBW
WWW
BBW
3 3
BBW
WWW
BWB
3 3
BBW
WWW
BWW
3 3
BBW
WWW
WBB
3 3
BBW
WWW
WBW
3 3
BBW
WWW
WWB
3 3
BBW
WWW
WWW
3 3
BWB
BBB
BBB
3 3
BWB
BBB
BBW
3 3
BWB
BBB
BWB
3 3
BWB
BBB
BWW
3 3
BWB
...

output:

YES
3
RDRD
DRDR
DDRR
NO
NO
NO
NO
NO
YES
3
RDDR
DRDR
DDRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
3
RRDD
RDDR
DDRR
NO
NO
NO
NO
NO
YES
3
RRDD
RDRD
DDRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
3
RRDD
RDDR
DRDR
NO
NO
NO
NO
NO
YES
3
RRDD
RDRD
DRDR
NO
NO
NO
YES
2
RDDR
DRDR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
RDRD
...

result:

ok ok (333 test cases)

Test #5:

score: 0
Accepted
time: 1ms
memory: 3876kb

input:

266
3 3
WWB
WWW
WWW
3 3
WWW
BBB
BBB
3 3
WWW
BBB
BBW
3 3
WWW
BBB
BWB
3 3
WWW
BBB
BWW
3 3
WWW
BBB
WBB
3 3
WWW
BBB
WBW
3 3
WWW
BBB
WWB
3 3
WWW
BBB
WWW
3 3
WWW
BBW
BBB
3 3
WWW
BBW
BBW
3 3
WWW
BBW
BWB
3 3
WWW
BBW
BWW
3 3
WWW
BBW
WBB
3 3
WWW
BBW
WBW
3 3
WWW
BBW
WWB
3 3
WWW
BBW
WWW
3 3
WWW
BWB
BBB
3 3
WWW
...

output:

NO
NO
NO
NO
YES
3
RRDD
DRRD
DRDR
NO
NO
NO
NO
NO
YES
1
RRDD
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
3
RRDD
DRRD
DDRR
NO
NO
NO
NO
NO
YES
3
RRDD
DRDR
DDRR
NO
NO
NO
YES
2
DRRD
DDRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
DRDR
DDRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
DRRD
DRDR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
0
Y...

result:

ok ok (266 test cases)

Test #6:

score: 0
Accepted
time: 1ms
memory: 3892kb

input:

245
4 2
WW
BB
WB
BW
4 2
WW
BB
WB
WB
4 2
WW
BB
WB
WW
4 2
WW
BB
WW
BB
4 2
WW
BB
WW
BW
4 2
WW
BB
WW
WB
4 2
WW
BB
WW
WW
4 2
WW
BW
BB
BB
4 2
WW
BW
BB
BW
4 2
WW
BW
BB
WB
4 2
WW
BW
BB
WW
4 2
WW
BW
BW
BB
4 2
WW
BW
BW
BW
4 2
WW
BW
BW
WB
4 2
WW
BW
BW
WW
4 2
WW
BW
WB
BB
4 2
WW
BW
WB
BW
4 2
WW
BW
WB
WB
4 2
WW
B...

output:

NO
NO
YES
3
RDDD
DRDD
DDDR
NO
YES
3
RDDD
DRDD
DDRD
NO
NO
NO
NO
NO
YES
3
RDDD
DDRD
DDDR
NO
YES
1
RDDD
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
DRDD
DDDR
NO
NO
NO
NO
NO
YES
2
DRDD
DDRD
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
2
DDRD
DDDR
NO
NO
NO
NO
NO
YES
0
YES
1
DDDD
NO
NO
NO
NO
NO
NO
NO...

result:

ok ok (245 test cases)

Test #7:

score: 0
Accepted
time: 1ms
memory: 3604kb

input:

200
5 3
BBB
BBB
WBW
BBW
BBW
5 3
BBB
BBB
WBW
BBW
BWB
5 3
BBB
BBB
WBW
BBW
BWW
5 3
BBB
BBB
WBW
BBW
WBB
5 3
BBB
BBB
WBW
BBW
WBW
5 3
BBB
BBB
WBW
BBW
WWB
5 3
BBB
BBB
WBW
BBW
WWW
5 3
BBB
BBB
WBW
BWB
BBB
5 3
BBB
BBB
WBW
BWB
BBW
5 3
BBB
BBB
WBW
BWB
BWB
5 3
BBB
BBB
WBW
BWB
BWW
5 3
BBB
BBB
WBW
BWB
WBB
5 3
BBB
...

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 (200 test cases)

Test #8:

score: -100
Wrong Answer
time: 1ms
memory: 3844kb

input:

200
5 4
BWWB
WBWW
WBWW
WBWW
WBBW
5 4
BWWB
WBWW
WBWW
WBWW
WBWB
5 4
BWWB
WBWW
WBWW
WBWW
WBWW
5 4
BWWB
WBWW
WBWW
WBWW
WWBB
5 4
BWWB
WBWW
WBWW
WBWW
WWBW
5 4
BWWB
WBWW
WBWW
WBWW
WWWB
5 4
BWWB
WBWW
WBWW
WBWW
WWWW
5 4
BWWB
WBWW
WBWW
WWBB
BBBB
5 4
BWWB
WBWW
WBWW
WWBB
BBBW
5 4
BWWB
WBWW
WBWW
WWBB
BBWB
5 4
BW...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
4
RRDRDDD
DDRRDRD
DDRDRDR
DDDDRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
4
RRDRDDD
DDRRDDR
DDRDRDR
DDDDRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
4
RRDRDDD
DDRRDRD
DDRDDRR
DDDDRRR
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

wrong answer Jury has answer but participant has not. (test case 80)