1534A - Colour the Flag - CodeForces Solution


brute force implementation *800

Please click on ads to support us..

Python Code:

import sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

t = int(input())
ans = []
x = list("RW")
for _ in range(t):
    n, m = map(int, input().split())
    s = [list(input().rstrip().decode()) for _ in range(n)]
    ans0 = "NO"
    for k in range(2):
        ok = 1
        for i in range(n):
            si = s[i]
            for j in range(m):
                if x[(i + j + k) % 2] == si[j]:
                    ok = 0
                    break
            if not ok:
                break
        if ok:
            ans0 = "YES"
            for i in range(n):
                si = s[i]
                for j in range(m):
                    si[j] = x[(i + j + k + 1) % 2]
            break
    ans.append(ans0)
    if ans0 == "YES":
        for s0 in s:
            ans.append("".join(s0))
sys.stdout.write("\n".join(ans))

C++ Code:

/*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#&@@@@@@&#&&&B&@@@@@@&B&#&&#&@@&G&@@@@@@@@@@@@@@@@@@
@@@@@@@&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@&@GB&&#&##@@@@B#BB#@@&&@@&@#&@@@@@@@@@@@@@@@@@
@@@@@@@@@@&&&@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@&##&@@@@&#&#B#&B&&@@@B#&#PG&&&&&#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#&@@@@@@@@@@@@@@@@@@@@&PB@@@&&#B#&G&@B&@@&BG#&@&#&B&@&#@&@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@&@@@@@@@@@@&&&&#&@@@@@@@@@@@@@@@&@&##@@#B#P&&&&B&BG&@##&###@&&@#B&@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@&&@@@@@@@@@@@@@#@@@&@@@@@@@@@@@@@@@BGB#G&@&#&&B##&BP#B&@GP&#B&##&#@&@&&@@@&@@@@@@@@@@@@@@@
@@@@@@@@@@&@@@&&&@@@@@@@@&@@@@@@@@@@@@@@@@@&##P5BY#&B@@@BGB###GB@&B&G#BP#&#B##@@@@@&B&@@@@@@&@@@@@@@
@@@@@@@@@@@@@@&&&@@&&@@@@@@&@@@@@@@@@@@@@@@B##B#GP#BG&&&&G#&GBBG&&GBB#BBB###&#B&B#&&@@@@@@@@&@@@@@@@
@@@@@@@@@#&@@&&@@@@@&@@@@@&&@@@@@@@@@@@@@@&##BGGG5B&#G###&&#&GPB&##G#&&BP#&B&BG#P&@@&#&@@@@@B&@@@@@@
@@@@@@@@@&@@@#&@GB&@&@@@@@#&@&&@@@@@@@@@@@&##JPP5P&&BBBP#B#BB#B&#B#GGG###BPG@&#BGG&&&B#&@&&@GB@@@@@@
@@@@@@@@@@@@@&&@&&#&@&&&@@@&#&&&#@@&#@@@@@@@G5P55BP&BB#PJBB#GGBB&&PGBGBGGBGBGB&#&PG##&G#@#B@##@@@@@@
@@@@@@@@@@@@#B&@&@&#&@@#@@&&&#&#&@@&B@@@@@@&PBB#GGGGP#GGGB5P#B#BPPPGG#PG&BB&##PGB5P#B#BG@#G@#G@@@@@@
@@@@@@@@@@@@@#&@@@&&#BB&&B&#G&#B@@@&&@@&#@@@##GP#GPYP#GBPB##BBG5GP5PPPBGB#BGPBGGPYPG#GG#&@GB@#&@@@@@
@@@@@@@@@@@@&@&&@@&&&#BB&#@@&B@@@&@@@#@#P#@@&BPGBJPPG5G5#BBPGBP5G5P5GPPBYYBPPY5PGBJGB5G5B&GB#5B@@@@@
@@@@@@@@@@@@&##@&B&&&##&&@&@@@@@@&@@@@@P55G&@BYBYPP5PP5PG5GGPYPPGP5PP?P5YGJPBJYPPBGBBGB5G#B#&BB&@@@@
@@@@@@@@@@@@&##&&###&&&@&#&@@@&&#&&@@@@#Y555B@GP5PJPJ?75JJPJPP?Y5G55J5JJY5Y57J#GP?5GBB55BBB#&#B&@@@@
@@@@@@@@@@@@@@@&&&B&&B&&#B@@#&&G###@&@B5Y5?PPP&PYY5Y?5JJ5Y!???J5J575YJYJY?YJ55JPJPY755P#P5GG&BB&@@@@
@@@@@@@@@@@@@@##@&@#G&#&@&@@&@&&&&@@@#YYJ?YG77PP5YYJPJYGJ!7?7?JYG?5YYY?JPJ5JJJ??YYJGPYGBB#5YGGB&@@@@
@@@@@@@@@@@@@&#&&&&&@&&&&&&&&@&@##@@@P577JY?5Y!JY?YJJY5YJ??!JJY?555Y57JP?J57JJ??JJJYPG5?BGBBY?P#@@@@
@@@@@@@@@@@@&@&BB####B#GG#&@&&&#B&#@B??!Y???JY7~~??YYY???!~7??7YYJJ?5JY?JJ^?7Y?~JY?P?YJ5P?GGP#J#@@@@
@@@@@@@@@@@@&####G#BB#&&@B#@&B&B#&#@Y!?Y77??7J~!?77J?7!?^7!?7~?J7J?JJY??J77JJJ~J7!Y7?5JYY55YBGP@@@&&
@@@@@@@@@@@@@@@@B&&#&##&#G&&B##B&#G@J?Y7!!~~?^~?!~!~7J?!7?JJ!5J?77?J?Y5?YJJY?~5!!Y7~YJ75Y5YJ5?#@@&5#
@@@@@@@@@@@@@@@#&#G##&&&B&BB&#G&GG#GPY7!77!!!^~~~~~!7!!~!?77J7!77J7?JYJY??J!7Y?7J?7YJ75?YY7J7J&@#5G#
@@@@@@@@@@@@@@##@##B#&@###GB@&#55B&5BB5!J?!7~~7~:^~^!~!!!~!7!~77J7!JJ7?7??!J7J7?77P??5J!Y75Y!5@@555B
@@@@@@@@@@@@@@@#&&@&##B5#GGG#PBY?GPJ555PJ?J!7!~~~!!!~!!!!!!~!??!!~?!~!?J?7J?!?~7?YJ7YY757?5~7&@BJ57B
@@@@@@@@@@@@@@@@##&&#BYGB5#BPB5~?BYG5?5GG5Y?~7!~~~!~^~~7!7~!!!7~!7~~~?J77JJ!J!!Y??!J??JY7YJ7#@#7J75#
@@@@@@@@@@@@@@@@@@&GGGB&PPBG#BJPBJPYJ7555Y&P?!7!~!~~!!^~!~~!~7~7~~~~!7!~?77?7~J777!J??YJY??5&BJYY?YB
@@@@@@@@@@@@@@@@@@#P&G&GYPBPPY55P55YY?J?JYP?YJ~77!!~7!7^7!!77^7~!~~~!~7!!77??77!?!??7?Y777?5&P757YJ#
@@@@@@@@@@@@@@@@@@@@GGB5B&G#GGG5?GYP55YJ?JJ??!!~77!!~~!!7~7~!~~~!~!~!~~~~!!!7J!J7~J7??777?7GB??75JJ#
@@@@@@@@@@@@@@@@@@@@@&GP&B#GJG#YGYY5JGYJJ?!???!!!??7!!!?7!~7~!!!7!~~~!:~!77?7?7?^7!!Y77?7??5?J??J7?G
@@@@@@@@@@@@@@@@@@@@@@@&&#GJPGPB5?P7G5J?J?!7777!777J!7~7~!~7!!77!7~!!~~!???7?^?~~?~?!?J~Y7?7JJ7Y7775
@@@@@@@@@@@@@@@@@@@@@@@@@@G#GGGBJBYJ5JY?5??JJ?JJ?77!J!?!~~!~~7~7!~!~7~??77?!!!?!?!?77J!YJ7?7Y5P5J?!~
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#JB5PG?G7?JJ77?~77J5P5B?YJ7!7~7!7~7~7~7!~^~~^^!7^7!~J~??5!?5^J7YJP55YYPP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#GGG?GPJG777!!!~~~77?PPB#&&#BGY5JYY7!??7J?!~7~?!7!!~7??J~J!J?JJ?7J?J5GG
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GPBYBP5???!!7!!!~?~7!?755BG#B###GGG55PJ?7?!!^!^!~?^!^77?Y?Y??!?J?PPG
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BGYGP5J?!!!!77!~~7!7!!~!!J!J7?77~^~!!~!~~.^^^~?^!~^?~J?J77!7!!7YJG
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##GP?????7?7!!!!7!?~!~!77?J77!7~!!!!7!~~7^!~!!?^J!!J?!!7!77~7JJB
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#P?????!!?~?~7!7!7~?7???!??!777!!^!~~^~!~^?!!7~J?J7!~777?7JP&
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&B5?!7777!77?!J!7!!??7?????7!~7~!^7!77!!J7?~77!?7?7YY5P55#@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GP?7!7777?7?~7~7!J!??!JJ?~!!7^~~7?7?J!!7!!!!7??J5PGBB#@@
@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@&#JJ!?J!J7!77JJ?J??7?77~7~!77~???7?!7~7?7JYP5BG&@&&#B@
@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@&BP?7?~?7?JJ7J5?YY?!J!77?J7JJ77!??7YJP5B###B#G#G#&@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#57?!?77JY?YJ7J?JJYJY?5??7Y5G5P###&BP&PP##&&&##
@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&BP7?7YY7JJJ7JJJY55YP5PG#@@@&G#G#PGG&#B&B&GP&
@@@@@@@@@@@@@@@@@@@@@@#&@@@&@@&@@@&&@@@@@@@@@@@@@@@@@@@@@@&BPPY777YJ5Y5YPPBBB@&&B###PBB&G&G####B&#G@
@@@@@@@@@@@@@@@@&@@@@@&@@@@&@&B&@@&##@@@@B@@@@@@@@@@@@@@@@@@@@@&&#BBBB5B&&BGBB#5&GB@BP&BBG&#@&B@G&@@
@@@@@@@@@@@@@@@@@@@@@@@@@&@@&@&&@&@##@@@#G&&@B&#B&#&@#&@@@@@&#B#5&##&@5BGBPPBP#B#&#&GG@B&G&B#BG&GG&@
@@@@@@@@@@@&&@@@@@@@@@&@@@@@@@&@&@@@@@@@&@@&&@@&B&&@BG&@&@B&PPGYB#&######G#&&#P#G&B&&##@#GY#PG#5&#&@
*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
#define For(i, s, e) for (ll i = s; i < e; i++)
#define FOR(i, s, e) for (ll i = s; i <= e; i++)
#define FORD(i, s, e) for (ll i = s; i >= e; i--)
#define pb push_back
#define vii vector<ll>
#define vpii vector<pair<int, int>>
#define fi first
#define se second
#define sii set<int>
#define pii pair<int, int>
#define rev(c) reverse(c.begin(), c.end())
#define sortf(c) sort(c.begin(), c.end())
#define sortd(c) sort(c.begin(), c.end(), greater<int>())
#define test()       \
        int test;    \
        cin >> test; \
        while (test--)
#define fast()                            \
        ios_base::sync_with_stdio(false); \
        cin.tie(0);                       \
        cout.tie(0);
#define sqr(n) (n) * (n)
#define len(s) (int)(s.length())
#define re0 return 0
#define re return

int const NN = 1e4 + 7;
int const N = 1e6 + 7;
int const inf = 1e18 + 7;
int const mod = 1e9 + 7;
char const NL = '\n';
char const nl = '\n';

// ! ¸,ø¤º°`°º¤ø,¸¸,ø¤º° [ нvмegy ] °º¤ø,¸¸,ø¤º°`°º¤ø,¸ roadтoнυe

signed solve()
{
        int n, m;
        cin >> n >> m;
        vector<vector<char>> s(n + 1, vector<char> (m + 1, '.'));
        vector<char> par(2, '.');
        FOR(i, 1, n)
        {
                FOR(j, 1, m)
                cin >> s[i][j];
        }
        bool fail = false;
        FOR(i, 1, n) { 
                FOR(j, 1, m) { 
                        if (s[i][j] != '.') par[(i+j)%2] = s[i][j];
                }
        }
        bool ck = true;
        if (par[0] == '.' && par[1] == '.') { 
                par[0] = 'R'; 
                par[1] = 'W';
        }
        else { 
                if (par[0] != '.') {
                        if (par[0] == 'R') par[1] = 'W';
                        else par[1] = 'R';
                }
                if (par[1] != '.') { 
                        if (par[1] == 'R') par[0] = 'W'; 
                        else par[0] = 'R';
                }
        }
        FOR(i, 1, n) { 
                FOR(j, 1, m) { 
                        if (s[i][j] != '.' && s[i][j] != par[(i+j)%2]) ck = false;
                }
        }
        if (ck) { 
                cout << "YES" << NL; 
                FOR(i, 1, n) {
                        FOR(j, 1, m) cout << par[(i+j)%2]; 
                        cout << nl;
                }
        }
        else { 
                cout << "NO" << nl;
        }
}

signed main()
{
        fast();

        test()

            solve();
        return 0;
}


Comments

Submit
0 Comments
More Questions

1612A - Distance
520A - Pangram
124A - The number of positions
1041A - Heist
901A - Hashing Trees
1283A - Minutes Before the New Year
1654D - Potion Brewing Class
1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)
1151B - Dima and a Bad XOR
1435B - A New Technique
1633A - Div 7
268A - Games
1062B - Math
1294C - Product of Three Numbers