QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#641980 | #8935. Puzzle: Easy as Scrabble | ucup-team3215 | WA | 29ms | 5592kb | C++23 | 3.7kb | 2024-10-15 06:56:57 | 2024-10-15 06:56:57 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0)->sync_with_stdio(false);
int n, m;
cin >> n >> m;
vector<char> L(n), R(n), U(m), D(m);
vector<vector<char>> a(n, vector<char>(m));
for (int i = 0; i <= n + 1; ++i) {
for (int j = 0; j <= m + 1; ++j) {
char c;
cin >> c;
if (i >= 1 && i <= n && j >= 1 && j <= m) {
a[i - 1][j - 1] = c;
} else if (!i) {
if (j >= 1 && j <= m)U[j - 1] = c == '.' ? 0 : c;
} else if (i == n + 1) {
if (j >= 1 && j <= m)D[j - 1] = c == '.' ? 0 : c;
} else if (!j) {
if (i >= 1 && i <= n)L[i - 1] = c == '.' ? 0 : c;
} else if (j == m + 1) {
if (i >= 1 && i <= n)R[i - 1] = c == '.' ? 0 : c;
}
}
}
auto letthemend = [] {
cout << "NO\n";
exit(0);
};
vector<vector<char>> res(n, vector<char>(m, '.'));
vector<int> pos(m, -1);
vector<int> l(n), r(n);
auto active = U;
for (int i = 0; i < n; ++i) {
l[i] = m, r[i] = -1;
if (!L[i])l[i] = -1;
if (!R[i])r[i] = m;
for (int j = 0; j < m; ++j) {
if (a[i][j] == 'x')continue;
if (active[j]) {
if (U[j] == L[i]) l[i] = min(l[i], j);
if (U[j] == R[i]) r[i] = max(r[i], j);
} else {
l[i] = min(l[i], j);
r[i] = max(r[i], j);
}
}
if (l[i] > r[i] || (l[i] == r[i] && L[i] != R[i])) letthemend();
if (l[i] >= 0) res[i][l[i]] = L[i];
if (r[i] < m) res[i][r[i]] = R[i];
for (int j = max(0, l[i]); j <= min(m - 1, r[i]); ++j) {
if (a[i][j] == '.' && active[j]) {
active[j] = 0;
pos[j] = i;
res[i][j] = U[j];
}
}
}
for (auto x: active)if (x)letthemend();
active = D;
for (int i = n - 1; ~i; --i) {
for (int j = 0; j < m; ++j) {
if (active[j] && pos[j] == i && U[j] != D[j])letthemend();
}
while (l[i] >= 0 && l[i] < m) {
if (active[l[i]] && D[l[i]] != L[i]) {
res[i][l[i]] = '.';
++l[i];
for (; l[i] < m; ++l[i]) {
if (a[i][l[i]] == 'x')continue;
if (res[i][l[i]] == '.' || res[i][l[i]] == L[i]) {
res[i][l[i]] = L[i];
break;
}
letthemend();
}
}
else break;
}
if (l[i] == m)letthemend();
while (r[i] >= 0 && r[i] < m) {
if (active[r[i]] && D[r[i]] != R[i]) {
res[i][r[i]] = '.';
--r[i];
for (; r[i] >= 0; --r[i]) {
if (a[i][r[i]] == 'x')continue;
if (res[i][r[i]] == '.' || res[i][r[i]] == R[i]) {
res[i][r[i]] = R[i];
break;
}
letthemend();
}
}
else break;
}
if (r[i] == -1)letthemend();
if (l[i] > r[i] || (l[i] == r[i] && L[i] != R[i])) letthemend();
for (int j = max(0, l[i]); j <= min(m - 1, r[i]); ++j) {
if (a[i][j] == '.' && active[j]) {
active[j] = 0;
res[i][j] = D[j];
}
}
}
for (auto x: active)if (x)letthemend();
cout << "YES\n";
for (auto &i: res) {
for (auto &j: i)cout << j;
cout << "\n";
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3556kb
input:
5 5 .CBA... ....x.. ..x...C A.....B B..x..A C...... .......
output:
YES CBA.. ....C A...B B...A C....
result:
ok Correct.
Test #2:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
1 2 .... Nx.. ..O.
output:
NO
result:
ok Correct.
Test #3:
score: 0
Accepted
time: 0ms
memory: 3556kb
input:
5 5 .U.N.X. U....xX Ox....X M...xxN Vx....S Ix.x..X ..IBHX.
output:
YES U.NX. .O..X M.N.. .VB.S .I.HX
result:
ok Correct.
Test #4:
score: 0
Accepted
time: 0ms
memory: 3504kb
input:
10 10 .BAZEMIEKUJ. A..........K B..x.x.x..x. K.........xT A.x..x.....J Hx....x....B Q..x....x.xW S...x......W S...x.xxx..Z ...x......xZ I..x..x.x.xR .QKO.ID..RW.
output:
YES .AZEMIEK.. B.......U. K.......T. A........J .H.......B Q.......W. S........W S.O.....Z. QK...D..Z. ...II...R.
result:
ok Correct.
Test #5:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
5 10 .PTWIVVISPY. T...x.x....Y Xx.x.xx..x.K P.x.xx.....K S..........A E.........xS .SPEASDCYSA.
output:
YES .TW.V.ISPY .X.I.....K P....V...K SP.......A ..EASDCYS.
result:
ok Correct.
Test #6:
score: 0
Accepted
time: 0ms
memory: 3784kb
input:
10 5 .HVYN.. Y.x...C V..x..B H...x.Z ....xxN ....x.P B.x...G Fx.x..D Txx..xK E..x.xR Sx....B .EPSBD.
output:
YES ..YNC .V..B H...Z ..N.. ....P B...G .F..D ..TK. EP.R. ..SB.
result:
ok Correct.
Test #7:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
50 50 .YDOGQIDENEUMONVSGZNMNHLEZCXIRMK.OOCKJOKXXZDUFEMPXS. Y.x...x.x.x..x..........x.......x......x.....x....xX N.........x.....x.....x....x.x.xxxxx.x...x.........E U.....x.....x....x......x.....x........x..........xS ...x......x........x..x.....x.x.x........x.x.x.....S Q.....x.x..x..........x....x....
output:
YES Y.OGQ.D.N.UM.NVSGZNMNHL.ZCXIRMK.OOCKJO.XXZDU.EMPX. ND...I.E....O..........E..............K.....F...E. U........E......................................S. .................................................S Q................................................L F...........................................
result:
ok Correct.
Test #8:
score: 0
Accepted
time: 1ms
memory: 3684kb
input:
100 100 .NUXAMX.LNWZKRRKZIRNZVDJF.XRB.VEFQXHTGLGIKZYSRPPF.YGVTOSQCADEG.KYKH.NWWO.XDXJW.G.RBHABFLWHFVUNOLBHMKN. U..x...x...x....xx........x.....x.....xxx..x..........x..x...x..xx..x..x..x............x.....x.....x.N C...x.......x.............x....x.x.x..x........x..x.xx..x..xx.................x..........
output:
YES .U.AMX.LNW.KRRK..RNZVDJF..RB.VE.QXHTG...KZ.SRPPF.YGVT.SQ.ADE..K..H..WW..X.XJW.G.RBHABF.WHFVU.OLBHM.N .CX.......Z....ZI..............F......GI..Y..........O..C...G..YK..N..O..D..................N.....KO .O...................................L...........................................................
result:
ok Correct.
Test #9:
score: 0
Accepted
time: 7ms
memory: 3912kb
input:
500 500 ..FHFDLGFGHREQBGILNRAGJ.ERZSAFGLQ.ESEBI.ELKM.RENLNFQSPT.TXUEIKHHOQWABSELMOPGTFGTXGYMTSU.N.O.AX.OGNSWTFSLUIMTUX.RUCECKZCXOJNPTFVAJUJTF.LHXURYIQIJCVWDBVZ.ZXFRAT.XIPXTDCSLHJHSZCW.RMNUGPIHYUQYUYAY.NHCBU.JPMLG.DDXAJWKNZJVKNAWAJZAHW.FCBEVATZ.YZ.HQ..QPLFARSHNP..EDPIKLYLF.FIFXEXR.XSUORAP.CZPMJXPUS.W...
output:
YES ...FDL...HREQ..ILNRA...ERZSA.GL...SE.I..LK...ENLNFQS.T.TX.E.K.HOQWA.SE.M.PGTFG.XGY..SU...O.AX.OGNS.TFSLUIM.UX...CEC..CXOJNPT.VA..JTF.LHXURYIQI.CVWDB.Z..XFR.T..IPXTD..LHJHSZCW.RMNUGPIHYUQY.YA..N.CB..JPM.G.DD.AJW.NZJ...AWAJZAHW.FCB...T..YZ.HQ..Q.LFA.S.NP..EDPI.LYLF..IFXEX...SUO.AP.CZP.JXPUS.W.D.WU...
result:
ok Correct.
Test #10:
score: 0
Accepted
time: 22ms
memory: 5204kb
input:
1000 1000 .SKFDQ.AV.GPTHMF.PL.YOQRQOXDOF.XVZ.H.MYOJIYT.QZNJQI.ZZMAJ.OAWBJBRXFW.CLEPPKGGAWGTVBKOBL.GPCO.ML.DBL.A.RJ..GF.EHK.CDXLLTCBCL.CGYJBMUSPIN.QELGYW.JE..CFVQF.LVYLFHYJ.MY.FZ.RU.ODLAYTWIZQOQZXBW.BVD.RFPLHLEHAU.G.PLFWFUKA.RSG..AVU.SA.PWRGJYO.OXD..S.Z.LIIADT.YXH..NHWXY.R.YFLS.URIJGPPURZPPVHJFLMKTDT...
output:
YES S.FDQ.AV.GPTHMF.P..YOQRQOXD.F.XV.....YO.IYT.QZ.JQI.ZZMAJ.OAWBJBRX...C.EPP.GGAWGT.B..BL.GPCO.ML.D.L.A.R...GF.E.K.CDXLLT.BCL.CGYJB.USPIN..EL..W.J...CFVQ..LV.LFHYJ.MY.FZ.R..ODLAYTWIZQO.ZX.W...D.R..LHLE.A..G.PLFWFUKA.R.G..A...SA..WRGJ...OXD....Z.L.I.DT.Y.H..N.WXY.R.Y.LS..RI.G.PU.ZP.V..FLMKT.TWI.ZKHZ...
result:
ok Correct.
Test #11:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
1 1000 .K.CCS...LC.....Y..J...E.W.B..Q..KQ...Q...L..U.XSWX..NB..K.OLF...Y.A....HG....RRQO..Y...J.LOS...IN..C......H......X.....B.B.PQRT....VB.........P...E....MF.E...RH.XADCQN.D.KT.W..XNI..PH.Q.L.H..G...ZJR.V.I.......O......J.X..N..QS......UN....HLS..Z..N....X.YH.W..E.Z..JHSAV......YXT.P..TX.WT.SHE....
output:
YES K.CCS...LC.Y.W.Y..J...E.W.B..Q..KQ..EQD..LT.U.XSWX..NB..K.OLF...Y.A....HG.BH.RRQO..Y..PJ.LOSU..IN..C......H......X.....B.B.PQRT...QVB...V..K..P...E....MF.E...RH.XADCQN.D.KT.W..XNI..PH.Q.L.H..G..ZZJR.V.I.......O.....DJ.X..NC.QS......UN....HLS.TZ..N....X.YH.W..EBZZ.JHSAV......YXT.P..TX.WT.SHE...YG...
result:
ok Correct.
Test #12:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
2 1000 .D..JPYBD.H..F.I.NTFC.VJKS..Q.PBW..XLW.ZS..ATCTMPPKRK.V.NN.MPE.SPN.QODI.H...OR.V..INXOZMGF.KIS.GANJ.WV.YLALHHXO..M.TMTJ..XYP.N.BUENZCUA.I.XJO.Q.NVG.B.TXNI.TVLY.N.CWE.ZEO.ANYRZ.W.PQI.LORBYIYJIK.JZ.PENB.HPJPTIIGVOMF.RPZ..WFM.IS..H..U.ZEX.DXZU.YHM.UOMPOHV.HW..SZ.RHWXW.SZH.....R.X.R.L.JRYLL.CE.IE...
output:
YES ..JJPYBD.H..F.I.N.FC.VJKS..Q.PBW..XLW.ZS..ATCTMPPKRK.V.NN.MP..SPN..ODI.H....R.V..INXOZMGF.KIS.GANJ.WV.YLALHHXO.....MTJ...Y..N.BUENZCUA.I.XJO.Q.N.G.B....I.TVLY.N.CWE.ZEO.ANYRZ.WBPQI.LORBYIY..K.JZ.PENB.HPJPTI.GVOMF.RPZ..W.M.IS....QU.Z.X.D.ZU.Y.M.UO.POHV.HW..SZ..HWXW.SZ......R...R.L.J.YLL.CE.IEZDX....
result:
ok Correct.
Test #13:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
1000 1 .N. N.N G.G ... ... .x. U.U ... .x. P.P K.K ..O .x. .x. Y.Y ... .x. ..D .x. ... J.J Q.Q E.E .x. A.. W.. .x. H.H D.D ... ... E.E ..H ..A .x. ... C.C ..E O.O ... ..Z J.J ... ..Y P.P W.W X.X G.G ... ... ... ... L.L F.F B.B .x. K.K R.R U.U F.F .x. ... ... ... B.B ... L.L .x. E.E N.N Z.Z ... Z.Z W...
output:
YES N G . . . U . . P K O . . Y . . D . . J Q E . A W . H D . . E H A . . C E O . Z J . Y P W X G . . . . L F B . K R U F . . . . B . L . E N Z . Z W . . . I V P . . J K D X Y . . . S . X . . J F O S N . D . . E U . . T C D M . . . T . . . . . F . . Y E K . . . . T . . . . G T . A . H R X . . . . U ...
result:
ok Correct.
Test #14:
score: 0
Accepted
time: 1ms
memory: 3720kb
input:
1000 2 .HE. .xx. .... H..E ..x. Z..N U.xU ..x. Rx.R A..A D..L J..T ..x. A.xA Ax.A ...V .x.. F..F .x.. U..Q Bx.B F..X E..E ...G B..V ..x. .x.. ..x. E.xE ...I ..x. ...W Tx.T .x.. Tx.T H..H K..K M..I ..xK V..I .x.Y ...V .... A..M B.xB Hx.H A.xA ...K ...X O... J..X S..U X..M F.xF ..x. M..I D.xD Y.xY Hx....
output:
YES .. HE HE .. ZN U. .. .R AA DL JT .. A. .A .V .. FF .. UQ .B FX EE .G BV .. .. .. E. .I .. .W .T .. .T HH KK MI K. VI .Y .V .. AM B. .H A. .K .X O. JX SU XM F. .. MI D. Y. .H XF SX AK .R B. .. .. KE NN Z. .. BI PV ZD .D .G .. RR V. .O EE .. C. .J SP .. GG JI .. .P DH .. QQ .. V. ZL W. QC P. KK .O...
result:
ok Correct.
Test #15:
score: 0
Accepted
time: 0ms
memory: 3504kb
input:
1 1 .M. M.M .M.
output:
YES M
result:
ok Correct.
Test #16:
score: 0
Accepted
time: 1ms
memory: 3588kb
input:
2 2 .FG. F..G D..D .DG.
output:
YES FG D.
result:
ok Correct.
Test #17:
score: 0
Accepted
time: 22ms
memory: 5180kb
input:
1000 1000 .SALZWWWEFVNIEX.ZDPPWJHROFIITXR.CSOKTMFFUGSA.UW.X.QYXWNAC.YCVHOGAHGZQAJWINRU.Z..CCFQKASZXMPWSQGILOT.N.PKGZ.JWPZ.ALPWSOFCMWABPW.ZAFSQQUASJHPIAMITPJEAJLKMGVGDOHFFNYKKXFHUIPFYDPQ.RWKD.PWLTQPZGPMYPQHOAGOHIDQMFGJU.MLXPCUK.ES.KZHPRLBGCTGYHPVYMX.DFAZODQ.QXANEJTISMUGV.LIGKZDSNOC.NDWM.N.JYHJIWCBQ.L...
output:
YES ..LZW..EFV.IEX.ZDPPW.HROF.ITXR..SOKT.FFU.S..UW.X.QY.WNAC.YCVHOGAHGZQ.JW.NRU.Z...CF..A..XMPW.Q...OT.N.PKGZ..WPZ.ALP.SOFCMWABPW.ZAFSQQ.ASJHPI.M.TPJ.A.LKMGVG.OHFFNYK.XFHU.PF.DPQ...KD..WLT.PZGP...Q.OA.O.ID.MFGJU..LX...K.ES.KZHPR..GCTGYHPV..X..FA.O.Q.QXANE...S.UG....GKZDS..C.NDW..N..YHJIW.B..LIU.N.NI...
result:
ok Correct.
Test #18:
score: 0
Accepted
time: 24ms
memory: 5168kb
input:
1000 1000 ..EYLAGAENPDPZMGY.K.MSRTZBHDENS..YJRW.IWCLBIQQICT.ODBUMXFPO.UDPELUBMQSLZ.EHIVABC.ME.NQQI..QEHTIIFGJQWZSLDNDKGWA.UGMR.CJ.RPAQYJUAIIFQAMRAWECAAFHV.GUGIXROGEYDUX.FUUP.JKSYZITIHMSCKEQQKU.SFAXDPIPSHHYGGYLLEHUHZYRKYBKNAAOAWZHPRKHIQRZJXO.LMJUHDR.AWTBOEEJIHRH.XBUDQHGHKSL.SKW.SZZNIZAF..PK.NVOIMECDI...
output:
YES .......................ZB.DE.S..Y.RW.IW.L.IQ..CT.O.BUMX....UD.ELUB.QSL..E..VABC.ME.N..I...EHT..F...W.S.D..KGW..UG.R.C...PAQYJUAIIFQA.R....AAFHV.GUG..ROG..DUX...U..J.S....IHMSCKE...U...AXDP...HH.G..L.E.UHZY.KY.K.AAOA..HPR.HI.RZJ...LMJUH....WT..E.JI.RH..BU..HGHK.L.S...SZZ.I..F........IME..IKXFG.J....
result:
ok Correct.
Test #19:
score: 0
Accepted
time: 29ms
memory: 5288kb
input:
1000 1000 .YOTYESJGMDJYFO.GICQVC.PBBNUUXFEIX.OJ.DBWOESWK.TEI.DITEQKIKC.QOTZBX..UB..SW.ODDBU.ZDILJKQYEM.CXOWRNAX.RYRPM.VMVYI.PBYXXUDDAFQUMAI..UFRHYOQA.PUWEP.AHEMMHMRCEZRFJQRWKLVXA.HXPHIMHV.SEHGFEJB.WRT.EYCWPI.CTERLDCPFUXKOWGIVNJKKOPUZRZI..NCHBODRTVKZRNHGTOQTYAKSEBA.TEX..EFIVBSBFOAJ.M.PXGTMHN.PRAPFIDD...
output:
YES ..............X.IC......BN......X..J...W.ESWK.......TEQ.I...QOT..X..UB..S...D..U..D.L..QYEM..XOWRNA..RY..M.V..Y..P...X......U.A...UFRH...A.PU.E..AHE.M....EZR.J.RWK.VX..HX.H.M....E.GF.JB..RT.E.C.PI.C.E.L.CP..X..W.I.N..KO..ZRZI..N....DR.V.Z.N.GTOQ.Y..SE.A.T.X..E..VB.BFO.J.M.PX..MH..PRAPF..DH.O.G.T...
result:
ok Correct.
Test #20:
score: 0
Accepted
time: 25ms
memory: 5164kb
input:
1000 1000 .HXXXGGPVDEYBGKDYLMRYKPIY.B..BQBPSH.DHV.RNWZKUYVSVELVLW.IAZZSBAGJSPHY..LFURSTQY.BTDPZ.GQCCNHBHJNUBDRQRGESN.TIGYPZVZ..MAWLKSUBOR.OJ.FEYPDJBAI.WV.EYBPRKNB.V.NY.QESGNGLNTUF.EY.EOIUPSETRWU.AWLP.DCBRZ.IDJIZW.UEJYDHPYOJPH.QJJAR.EOYFQKOSXUK.LNXOHJNINT.NVJFEGZOMSJQT.XHISZWU.Z.GYGELPGGDVTFAGA.TSYDN...
output:
YES .....................P......BQ..S..........KUY......L.......B..............T......P.....C..B.J........................WL..........F.......I........R.NB.........G.G.............P.........L..D......DJ.Z........P...P..Q......O...................T.........M.....X.......Z...G.L.GGD....G..........M......
result:
ok Correct.
Test #21:
score: 0
Accepted
time: 15ms
memory: 5140kb
input:
1000 1000 .CCFMBZB.AUU.H.ZXYVAIMTA.D.JJIPERQWJVCTTAKSARUVYRPOPQMNFTNMPUBAZLCD.NXITOLEGFETDCOOBBGTL.U.IDCGBOOWFZ.VAWT.BXDK.YXRPTAVKNVAEMTDFY.UEUJCXSVZTYVJIN.ZOXGSTHSGUJWPTSLSUKFZDICKCPNTF.TTVUZUWAWFIPJ.HSXCJWRLDXZPXSHYLE..VZDEXCIGCFVBJBRNLAZDYXYGBDSRJUKRLVGREJGHMBFFK.SQSFXVDXBOULXPVHXPXKDZADDQA.JJCLE...
output:
YES .................................................................................................W.........................................Y..........................................................D.............................................................X......................................
result:
ok Correct.
Test #22:
score: -100
Wrong Answer
time: 10ms
memory: 5592kb
input:
1000 1000 .YYJG..U..V.ZKZL.MR.Y.BFP.RK.Y...Y.P...LZ.HB.FECA.O...DDWYTFMKZZ.RZ..AJD....ND.P.B...MPYOAU.DYJX..Y.UEUN..IVDN.C..WXXF...FRP...A..NP.B.O.Z.D..LFC.F..TR.G..M..ULQ..VPC..X.DHPY..UGO.F.P.BM.R..HXJ..STSJMS.Q.AZMF.EF..OXMSV.BAG..ADIR.FD.QDJN.DM...NKI...IYMNE.CP...J...G.KSX..B.J.HLYJC.PMBBJG.F.....
output:
NO
result:
wrong answer Jury has answer but participant has not.