QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#855972 | #9965. Game MPO | ideograph_advantage# | AC ✓ | 0ms | 3876kb | C++20 | 2.9kb | 2025-01-13 14:02:29 | 2025-01-13 14:02:29 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define iter(v) v.begin(), v.end()
#define SZ(v) int(v.size())
#define pb emplace_back
#define ff first
#define ss second
#define fs ff
#define sc ss
using ll = long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
#ifdef zisk
void debug() { cerr << "\n"; }
template<class T, class ... U>
void debug(T a, U ... b){ cerr << a << " ", debug(b...); }
template<class T>
void pary(T l, T r) {
while (l != r) cerr << *l << " ", l++;
cerr << "\n";
}
#else
#define debug(...) void()
#define pary(...) void()
#endif
template<class A, class B>
ostream &operator<<(ostream &o, pair<A, B> p) {
return o << '(' << p.ff << ',' << p.ss << ')';
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<string> v(n);
for(int i=0;i<n;i++){
cin >> v[i];
}
int ans=0;
const pii st[4]={pii(-1,0),pii(1,0),pii(0,-1),pii(0,1)};
const pii dg[4]={pii(-1,-1),pii(1,1),pii(1,-1),pii(-1,1)};
auto in=[&](int a,int b){
return a>=0 && a<n && b>=0 && b<n;
};
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(v[i][j]>='A' && v[i][j]<='Z'){
ans++;
}
for(int k=0;k<4;k+=2){
int x=i+st[k].fs,y=j+st[k].sc;
if(in(x,y)){
if(v[i][j]=='O' && v[x][y]=='O'){
ans++;
}
}
}
for(int k=0;k<4;k+=2){
int x=i+dg[k].fs,y=j+dg[k].sc;
if(in(x,y)){
if(v[i][j]=='O' && v[x][y]=='O'){
ans++;
}
}
}
for(int k=0;k<4;k++){
int x=i+dg[k].fs,y=j+dg[k].sc;
if(in(x,y)){
if(v[i][j]=='M' && v[x][y]=='P'){
ans++;
}
}
}
for(int k=0;k<4;k++){
int x=i+st[k].fs,y=j+st[k].sc;
if(in(x,y)){
if(v[i][j]=='M' && v[x][y]=='P'){
ans++;
}
}
}
}
}
cout << ans << " ";
while(1){
int flag=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
int cz=0;
if(v[i][j]>='a' && v[i][j]<='z'){
cz++;
for(int k=0;k<4;k++){
int x=i+st[k].fs,y=j+st[k].sc;
if(in(x,y)){
if(v[i][j]=='o' && v[x][y]=='O'){
cz++;
}
}
}
for(int k=0;k<4;k++){
int x=i+dg[k].fs,y=j+dg[k].sc;
if(in(x,y)){
if(v[i][j]=='o' && v[x][y]=='O'){
cz++;
}
}
}
for(int k=0;k<4;k++){
int x=i+dg[k].fs,y=j+dg[k].sc;
if(in(x,y)){
if(v[i][j]=='m' && v[x][y]=='P'){
cz++;
}
if(v[i][j]=='p' && v[x][y]=='M'){
cz++;
}
}
}
for(int k=0;k<4;k++){
int x=i+st[k].fs,y=j+st[k].sc;
if(in(x,y)){
if(v[i][j]=='m' && v[x][y]=='P'){
cz++;
}
if(v[i][j]=='p' && v[x][y]=='M'){
cz++;
}
}
}
}
if(cz>=2){
v[i][j]-='a';
v[i][j]+='A';
flag=1;
ans+=cz;
break;
}
}
if(flag){
break;
}
}
if(!flag){
break;
}
}
cout << ans << "\n";
for(int i=0;i<n;i++){
cout << v[i] << "\n";
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3580kb
input:
4 .pm. Mom. OOm. p..p
output:
4 13 .PM. MOM. OOm. p..p
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 .P P.
output:
2 2 .P P.
result:
ok 3 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 3548kb
input:
3 ... .pp .m.
output:
0 0 ... .pp .m.
result:
ok 4 lines
Test #4:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
4 .... .... .... ....
output:
0 0 .... .... .... ....
result:
ok 5 lines
Test #5:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
5 m.... m.Mop OOpoo PMp.. Oo...
output:
8 15 m.... m.Mop OOPoo PMP.. OO...
result:
ok 6 lines
Test #6:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
6 Mo..Op ..P.p. p.MopP mMpO.P ..mp.p OM.Mo.
output:
12 26 Mo..Op ..P.p. P.MOpP MMPO.P ..MP.p OM.Mo.
result:
ok 7 lines
Test #7:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
7 .M.O.M. .PM...M MO.MMP. O.O.P.P POOOOM. MO...MP ..MOP.O
output:
53 53 .M.O.M. .PM...M MO.MMP. O.O.P.P POOOOM. MO...MP ..MOP.O
result:
ok 8 lines
Test #8:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
8 m.mm..p. .oo.op.p .op.pm.. ...p.pmp .o.ooo.. m.momo.o omp.pmmo mp.mmo..
output:
0 0 m.mm..p. .oo.op.p .op.pm.. ...p.pmp .o.ooo.. m.momo.o omp.pmmo mp.mmo..
result:
ok 9 lines
Test #9:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
9 pp...p.pP ...PmOM.o .MOM.M.Mm O.op.pppP Oo..opMp. .pPM..p.p .m.M.o.m. pPP.PO.O. mopMooom.
output:
31 93 pp...P.PP ...PMOM.o .MOM.M.MM O.OP.PPPP OO..oPMP. .PPM..P.P .M.M.O.M. PPP.PO.O. MoPMOOOm.
result:
ok 10 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 3872kb
input:
10 M.oMppo..p Pp...pmMp. o..mp.P.m. OMm..M..M. OPPmM.o.M. .pO..mOm.p O..o..P.m. .m..OOp.m. p..Oomm... .p.oMpmmp.
output:
30 86 M.oMPPo..p PP...PMMP. O..MP.P.M. OMM..M..M. OPPMM.O.M. .pO..MOM.P O..O..P.M. .m..OOP.m. p..OOMM... .p.OMPMmp.
result:
ok 11 lines
Test #11:
score: 0
Accepted
time: 0ms
memory: 3676kb
input:
10 P.o.OoP... Mpm.PmPpMm p.....O..M MpOM..Ompp .m.Oo.pM.P ....mOmmPo Ppoo.mm... ..OM.o.P.p OPO....M.P P.ooo.mP.p
output:
36 89 P.o.OOP... MPM.PMPPMm P.....O..M MPOM..OMPP .M.OO.PM.P ....mOMMPo PpOO.mM... ..OM.o.P.p OPO....M.P P.OOO.MP.p
result:
ok 11 lines
Test #12:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
10 .m..Oooomo .......... MOMoomp.Pp .......... mMP..omOoM .........O mmOmoOm.PM m......... PmM.O.Mpp. .........o
output:
20 37 .m..OOOOmo .......... MOMoomp.Pp .......... mMP..omOOM .........O mmOmOOm.PM M......... PMM.O.MPp. .........o
result:
ok 11 lines
Test #13:
score: 0
Accepted
time: 0ms
memory: 3572kb
input:
10 Oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo oooooooooo
output:
1 442 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO
result:
ok 11 lines
Test #14:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
10 Oooooooooo .........o oooooooooo o......... oooooooooo .........o oooooooooo o......... oooooooooo .........o
output:
1 118 OOOOOOOOOO .........O OOOOOOOOOO O......... OOOOOOOOOO .........O OOOOOOOOOO O......... OOOOOOOOOO .........O
result:
ok 11 lines
Test #15:
score: 0
Accepted
time: 0ms
memory: 3572kb
input:
10 Mm.Op.OM.m oP.o..mO.m .......... pm....oo.P pm.mp..O.o .......... .p.m.....M Mm.M..pM.o .......... OP.Mp.oP.P
output:
19 36 MM.Op.OM.m oP.O..mO.m .......... pm....OO.P pm.mp..O.o .......... .P.m.....M MM.M..PM.o .......... OP.MP.oP.P
result:
ok 11 lines
Test #16:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
10 mpm.mpmpmp pmpmpm..pm mpmpm.mpmp .mpmpmpmpm mpmpmpmpm. pmpm..p.p. mpmpmpmpmp ..pmpmpm.m mpmpmpmpmp pmpmpmpmpM
output:
1 224 MPM.MPMPMP PMPMPM..PM MPMPM.MPMP .MPMPMPMPM MPMPMPMPM. PMPM..P.P. MPMPMPMPMP ..PMPMPM.M MPMPMPMPMP PMPMPMPMPM
result:
ok 11 lines
Test #17:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
10 OM.op.MO.o po.MO.op.O .......... OP.om.po.O mO.Po.OM.o .......... PO.mo.pp.P Om.oP.mm.m ........O. Oo.oO.Mp.o
output:
25 63 OM.OP.MO.O PO.MO.OP.O .......... OP.oM.PO.O MO.Po.OM.O .......... PO.Mo.pp.P OM.oP.mm.M ........O. OO.OO.MP.O
result:
ok 11 lines
Extra Test:
score: 0
Extra Test Passed