QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#617793 | #7882. Linguistics Puzzle | hjxddl | AC ✓ | 42ms | 3992kb | C++20 | 3.1kb | 2024-10-06 17:07:47 | 2024-10-06 17:07:47 |
Judging History
answer
// Coded by hjxddl
#include <bits/stdc++.h>
#define ll long long
#define db double
#define v(x) std::vector<x>
const int N = 2e5 + 5;
int ans[60], n;
int ans1[60][60];
std::string s[60][60];
std::map<std::pair<int, int>, v(int)> mp;
std::map<char, int> id;
std::map<int, char> rid;
v(int) cnt1, cnt2, cnt3, cnt4;
bool dfs(int x) {
if (x == n + 1) {
v(int) cnt(n * n + 100);
int ans2[60];
for (int i = 0; i < n; i++)
ans2[ans[i]] = i;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cnt[i * j]++;
if (s[i][j].size() == 1)
cnt[ans2[id[s[i][j][0]]]]--;
else
cnt[ans2[id[s[i][j][0]]] * n + ans2[id[s[i][j][1]]]]--;
}
}
for (int i = 0; i <= n * n; i++)
if (cnt[i]) return 0;
return 1;
}
v(int) &num = mp[{cnt3[x], cnt4[x]}];
for (auto &y : num) {
// std::cerr << x << " " << y << " " << ans[y] << '\n';
if (ans[y]) continue;
ans[y] = x;
if (dfs(x + 1)) return 1;
ans[y] = 0;
}
return 0;
}
void init() {
for (int i = 0; i < n; i++)
ans[i] = 0;
mp.clear();
cnt1 = cnt2 = cnt3 = cnt4 = v(int)(n + 5);
}
void solve() {
std::cin >> n;
init();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cin >> s[i][j];
cnt1[i * j % n]++;
if (i * j / n)
cnt2[i * j / n]++;
if (s[i][j].size() == 1) {
cnt3[id[s[i][j][0]]]++;
} else {
cnt3[id[s[i][j][1]]]++;
cnt4[id[s[i][j][0]]]++;
}
}
}
for (int i = 0; i < n; i++)
mp[{cnt1[i], cnt2[i]}].push_back(i);
// for (auto [_, x] : mp) {
// for (auto it : x) {
// std::cerr << it << " " << _.first << " " << _.second << '\n';
// }
// }
// for (int i = 1; i <= n; i++) {
// std::cerr << i << " " << cnt3[i] << " " << cnt4[i] << '\n';
// }
dfs(1);
for (int i = 0; i < n; i++) {
std::cout << rid[ans[i]];
}
std::cout << '\n';
}
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0), std::cout.tie(0);
for (int i = 0; i <= 25; i++) {
id['a' + i] = i + 1;
rid[i + 1] = char('a' + i);
}
for (int i = 26; i <= 51; i++) {
id['A' + i - 26] = i + 1;
rid[i + 1] = char('A' + i - 26);
}
int t = 1;
std::cin >> t;
while (t--) {
solve();
}
std::cout << std::flush;
// system("pause");
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3932kb
input:
2 3 a b a b b b b c cc 4 d d d d d c b a d b cd cb d a cb bc
output:
bca dcba
result:
ok OK
Test #2:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
2 4 d a a bc ba bc b a a a d a a cb c c 4 a b da b b d ad b db b a c da b c b
output:
abcd bdac
result:
ok OK
Test #3:
score: 0
Accepted
time: 7ms
memory: 3788kb
input:
50 3 b b b a a c b b cc 4 d ab c ad d b ba ab c b d d d d d a 5 a aa aa ab ab ae b b e c c c ba c c c c dd d d dd c e c e 6 a ca a a a a a a ce a a b ba ba bc bc bd be e c c ca a cd cd be d d dc dc e e a eb f f 7 a a a a a a a a cf a a a a b b b b c c c cf a dd d dc d dd e f ed ee ee fb eg eg eg eg ...
output:
bca dabc cadbe abcdef aefdcgb fcheabgd bhgfedcia jhcgfideba fjbadkegcih klhgjbaedcif igkjmclfedhba nflijahgmbdcek anmlfijbgkhdceo nofmlkjchdbegipa aponblgjihcfqdkme iqmonhckfrpgjedlba prisodmbkjqghfencla tcrdpoaklmjihfgeqsbn utiraponmlksghjfecdbq qotsrvjunmlkpiegfhdcba pvutsrhwoimlkjnqgfedbca xbvuts...
result:
ok OK
Test #4:
score: 0
Accepted
time: 6ms
memory: 3784kb
input:
50 3 a a b c c c c bb c 4 a c ab b c ba ba c c a bc c c c d d 5 a a a b b b b b b c b d c b cc cc b d de e ea ed ed ee ee 6 a a ac ac b b b be ef c ca cb ea f cf d d e ca eb eb ec f ef c f f f f f f f f f cf ec 7 ag a a a ag b bb bb bd bd bf bf bf e bg c c c c c c c c c c c e c ga d da dd dd bf e e ...
output:
cba cbad becda fecabd cbgdafe abgfechd abhgeicdf ahfdgcebij bagedfcihjk abcdhkgifjle fkgdeachblijm alcdbfgjihkmen jfobedghiaklmcn ahgdemcnijklfbop aecdjlbhiqkfmnopg aecdbfjhkimlgnopqr afcdqbghriklmnopejs dbcaefghijktmnosqrpl qbisefgpcjklmnohdratu pdcbeaghijmlknofqrstuv aoedqfghijkclnbpmrstuvw atcdef...
result:
ok OK
Test #5:
score: 0
Accepted
time: 7ms
memory: 3704kb
input:
50 3 a c a a bb b c a a 4 dc c a b b c ad c c c c c d da da a 5 a d a a a e a a ce a b bb bb c cc cc cd cd a d a e b e dc 6 d ab a ab b b ba ba bd bd bf c c d d a d d d eb d d d d e ea eb d ed ed ef ef f f f fe 7 a a a a ea f bb bb bg g cb cb cc cc f cd cd cd ce d d dc e e b ea ec ec ee eg eg f f f ...
output:
abc cdab acbde debafc fcebgda gafedbhc ihbfedagc haiebjcfdg chkefdigbaj echkagbilfjd ajcmhgbidklfe ibmckfgaehndjl ogfhbicekndljma ngmdkpiblcfeajho qlgbcipjkdehnfmao qadoilgcepfbnjkhrm kdiceagnlrjhbosfqmp iakrbqdgmescjpnlhotf nhedbluojtakqpgscrimf esflhqkbnoamrduivgcptj wmjqcgauvlhofdnpbsrteki unsbtm...
result:
ok OK
Test #6:
score: 0
Accepted
time: 8ms
memory: 3912kb
input:
50 3 b a a c c c bb c c 4 a cb b d bc c cd a cb d d b d d d d 5 a a a b b dd c c cc d cc e db e da bd e db e e e e dd e e 6 a a b b f ed c c b cd d d db f dc df df e eb eb f be ed ef ef f f cd f ec f f f dc f f 7 fb a a a b b bf c c c ce ce d d g dd dd e e g ea ec ef ee ef ec f fb g fb fb fd fd fe f...
output:
cba dcba edcba fedcba gfedcba hgfedcba ihgfedcba jihgfedcba kjihgfedcba lkjihgfedcba mlkjihgfedcba nmlkjihgfedcba onmlkjihgfedcba ponmlkjihgfedcba qponmlkjihgfedcba rqponmlkjihgfedcba srqponmlkjihgfedcba tsrqponmlkjihgfedcba utsrqponmlkjihgfedcba vutsrqponmlkjihgfedcba wvutsrqponmlkjihgfedcba xwvuts...
result:
ok OK
Test #7:
score: 0
Accepted
time: 2ms
memory: 3716kb
input:
50 3 a bb b a a c a c a 4 a b a a a a a a ba bc c cb c bc d d 5 a a a a bd a a a a b bb e a bd be c c cc db d e cc e bb d 6 a a a a a a e a ba d e b ba a bc bc bd be be c c ca ca cd cd ce d a dc dc e a a eb f f 7 a cg a a cb a a a a a c a a b bb bb bc bd bd bf bf bf bf a c cb a cc ce ce cg a d e ec ...
output:
abc abcd abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijkl abcdefghijklm abcdefghijklmn abcdefghijklmno abcdefghijklmnop abcdefghijklmnopq abcdefghijklmnopqr abcdefghijklmnopqrs abcdefghijklmnopqrst abcdefghijklmnopqrstu abcdefghijklmnopqrstuv abcdefghijklmnopqrstuvw abcdef...
result:
ok OK
Test #8:
score: 0
Accepted
time: 11ms
memory: 3988kb
input:
50 3 a c a a b bb a a c 4 b c b ab b b ad a c b d d b b da ad 5 c c c c dd c bb ed b e c c da a d a c e b de a bb dd c de 6 d a a c bf da a a a dc e a a a fd da c f fa a fc d fb b db e cd cd b a b fa a fd dc fb 7 fd f e g ff e g e e fc e bf e fb fd c e c g bg d ff e g a e bf df ba ab ab fd bg e ba f...
output:
abc badc cdbea afdcbe efbcadg agdbhfec bdifahcge jfbgdeachi ajhbgfeickd fkjehgbidcal clijmhgfbdeka nibkjghafcdelm bnlokjihgaedcmf pfcmlboihkjednga eponjlbgihdfqmcka rijqnmlkgohpfecdba sdgponmlkqihjefrcba tsgiponflqakhrmedcbj ltsiqpobmunjghrfedcka vdtfrqponmsjkibgleucha avutsrnpoqmldjihgfwkcbe xwvstu...
result:
ok OK
Test #9:
score: 0
Accepted
time: 8ms
memory: 3784kb
input:
50 3 a c c c b bb c c a 4 dc a cd d da c a a b a a a a dc c b 5 be b d cc a a d bb e a be d d cc eb e c ba d d d d d bb c 6 e ad ef db b c ad db b d da c b fe f fe a b fb b b da fb b a b e fd fd d b b de b fa e 7 dd f bb de a bd c aa bb c e c f f f f ba f f aa ae f dc f db dc bg f ba g bg c g gb ed ...
output:
cba adcb dbcea bfdaec fbdaegc eabdfcgh abhfcegdi jfcdbaehig abcedfhigjk khcfadgibjel jdclefghibkam lgcdejbhifknma abcdehfligkjnmo ikognfdhajblmecp amoiefghdjblkpcnq kbcdehgqioalmnjpfr ancfesrhijklmgopqbd amgdfcheijklbnopqrst fbcdeoghrjkainlpqmstu dbcoefhaijklmgnpqrstuv nbcdefghiwkljaosqmptuvr abcsuf...
result:
ok OK
Test #10:
score: 0
Accepted
time: 9ms
memory: 3952kb
input:
50 3 b cc a b b b a c b 4 ab c ba d a c c ba a d c c c c b bc 5 cc d bd c a a a be e b a a e a a a bb a db cc bd e d bb c 6 ed af af d be a ea fa fd c a b fa b e eb fb eb ef c d d b fd d f ef d f d d ed d d d d 7 c aa d ee g d g aa a ff f d be d d d e ac d d ea eb ea be d f af d eg g d b eb fb c ff ...
output:
bca cbad abcde defabc daefbcg dhebagfc bahifcdeg bceagfdihj gbhfkcdeiaj jialecgbfdkh idjcgfkaemhbl ngbecmjafkhdil bcoeaidjnkfglhm emnodgaihcfpjklb bqcgofjinlaekphdm kgceolrnhqipbafdjm eflgbscoqpndmkajhir bgmfthncdekqjrapiosl sdhtprilkobacqjnmgeuf bjqtdlfurspvcaehoingkm lderwoqsjpnhvfmcbuikgat noukih...
result:
ok OK
Test #11:
score: 0
Accepted
time: 13ms
memory: 3992kb
input:
50 3 c c c bb a a c c b 4 b d cb cb b a bc d d cd d c a d d d 5 c b e e bd da e d cc dd a e e db e db b e a a dd c e e cc 6 eb df f f eb d be f f c d a f df cd c dc b ef dc f f e ec f ef b cd ed db f f ed a b f 7 g fb ea b ec fe g f c bf c g dc dd b e g fb d ec ef ee ce ff c a fd g ef dd e g d g fb ...
output:
cba dcba edcba fedcba gfedcba hgfedcba ihgfedcba jihgfedcba kjihgfedcba lkjihgfedcba mlkjihgfedcba nmlkjihgfedcba onmlkjihgfedcba ponmlkjihgfedcba qponmlkjihgfedcba rqponmlkjihgfedcba srqponmlkjihgfedcba tsrqponmlkjihgfedcba utsrqponmlkjihgfedcba vutsrqponmlkjihgfedcba wvutsrqponmlkjihgfedcba xwvuts...
result:
ok OK
Test #12:
score: 0
Accepted
time: 6ms
memory: 3728kb
input:
50 3 a a c c a b a a bb 4 b a c a a ba c a a a cb d d bc bc a 5 a db c e d e a d a a bd bb a e a b c bd be cc a bb a cc a 6 d ca a c d a c bc e f be ca ba a a ba b a eb cd bd a ce dc bc dc cd f a e a a a e be a 7 cb fb g ec cg a bf bd e d a cb a g a e dd f a c a cg bf bd bf g bf c d f a a e bc a ce ...
output:
abc abcd abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij abcdefghijk abcdefghijkl abcdefghijklm abcdefghijklmn abcdefghijklmno abcdefghijklmnop abcdefghijklmnopq abcdefghijklmnopqr abcdefghijklmnopqrs abcdefghijklmnopqrst abcdefghijklmnopqrstu abcdefghijklmnopqrstuv abcdefghijklmnopqrstuvw abcdef...
result:
ok OK
Test #13:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
50 2 a b a a 2 a a a b 2 a a a b 2 b b b a 2 b a a a 2 b b b a 2 a b a a 2 a b a a 2 a a a b 2 a b b b 2 b b b a 2 b a a a 2 a b a a 2 a a b a 2 b a b b 2 a a b a 2 a a a b 2 b b a b 2 b b b a 2 a a b a 2 a b a a 2 a a a b 2 b b b a 2 a a a b 2 a b a a 2 a a a b 2 b a b b 2 a b b b 2 a a a b 2 a a a...
output:
ab ab ab ba ab ba ab ab ab ba ba ab ab ab ba ab ab ba ba ab ab ab ba ab ab ab ba ba ab ab ba ab ab ba ba ba ab ba ba ba ab ab ab ab ab ab ab ba ba ba
result:
ok OK
Test #14:
score: 0
Accepted
time: 21ms
memory: 3708kb
input:
50 52 uj Tp xo WR CE Ht q Wt RM sS mq Io ln TK eZ jH o mC hV ha hi a JH in hQ j Fg ar Wf Fp JH KR k xo gE qn az V Rs Pw nu un qv hH jH Da YK es XI b ec FN yg Z Tr Bw Ob gt pD k eo Xv lc no ln hz RW RF BZ rF yu k CI zu qJ Yz ex aI eU bn HW ej eo jP I jp xr ue yR V Tu zo Mv eh gz Xz mv FI hz mV ah Dh ...
output:
kehTRmxJHXqyrljaWYOSwigsnUzDuZbPtdCBIMcFpLNfvEGKoAVQ RjxrlcZngyWomHJtIOBYTUPViCvuGpXkQSdALDwzbfNaqFMhEseK FUcwvoLARpnGBQCDWdagNjyuthlYXefPJirZMSsbqHmIkTxzKOEV OujFdfKkElwsJLVmMYSZpXIeHDRyhACBvzroGcbtnagPNxUTWiQq wYtmrEDWGqIyVLNiHxzeTcgFkdQpBXnPZjKvARsJOoUbaSulfMhC SwZAyhRNJgMFOnWoDpbLTEXlBackuqjetIs...
result:
ok OK
Test #15:
score: 0
Accepted
time: 14ms
memory: 3748kb
input:
50 52 A A A AF AF AF AF AJ AJ AK AK AK AK AN AN AU AU AX AX AZ AZ Ab Ab Ab Ab Ah Ah Ah Ah Ar Ar As As At At Av Av Aw Aw B B BC BC BE BE BF BF BI BI BK BK BK BK BL BL BL BL BM BM BM BM BM BM BN BN BP BP BR BR BR BR BT BT BV BV BV BV BZ Bb Bb Bc Bc Bf Bf Bh Bh Bh Bh Bh Bh Bh Bh Bh Bh Bn Bn Bn Bn Bn Bn...
output:
ZYXWVUTSRQPONBLzJIHGFEDwMAKyxCvutsrqponmleaihgfkdcbj ZsXWVUTGRQPONMwKLIHSFEDCBAzyxJvutmrqponYlkjihgfedcba ZYXWVUTSRQlONMLKJIHGFBuwEAzyxCvDtsrqponmPkhijgfedcba ZYXWVUTSRQmONwLKJIHGFEDxBAzyCMvrtsuqdonPlkjihgfepcba ZcXWVUTSRkPONJLKMIHGFEDCBAzylwautsrqponmxQjihgfedYbv ZYXgVUTSwQPONMLKJIHGFyDCBezExRkutsr...
result:
ok OK
Test #16:
score: 0
Accepted
time: 12ms
memory: 3636kb
input:
50 52 A A A A AC AC AI AI AO AO AP AP AQ AQ AR AR Ab Ab Ai Ai Aj Aj Am Am An An Ao Ao Ao Ao Aq Aq Ar Au Au Az Az B B B B BF BF BK BK BK BK BK BK BN BN BO BU BU Ba Ba Bc Bc Be Be Bg Bg Bj Bj Bj Bj Bo Bo Bp Bp Br Br Bw Bw C C C C C C CA CA CD CD CG CG CO CO CS CS CW CW CW CW CX CX Cb Cb Cg Cg Cj Cj Co...
output:
abcdefghiylPmnWpqrstuvwxjzABCDEFGHIJKLTNOkQRSMUVoXYZ abcdefghUjklmnopNrstSZwxyzuBCDEFGHIJKLMqOPQRATiVWXYv cbadefghijklmnorqpstuUwMyzABCDEFGHIJKLxNPOQRSTvVWXYZ abcdefghiSklmnopqrstuLwxTzABCDUFGHIJKyMNOPQRjvEVWXYZ abcdefghijklmntpqrsvuowxyFAWCDEJGHIzKLMNOPQRSTUVBXYZ absiefghdAklmnopqrctuvwxyzjBCDEFGYI...
result:
ok OK
Test #17:
score: 0
Accepted
time: 23ms
memory: 3708kb
input:
50 51 kt Dt kq nP Ec X Bh V FT LL qS bN Rx x Av mT mw ax wS h A bt vV GJ ni Hw vK bV d v mL bL ub gy mx h In AE TG cK Fj jj zk Xd yo mB LX FA br UI Fa Li bH Ad Q Jt K Cq A pH Gz NX ak Gh bT be Rf U Ga vK Ha Kh Fu TT vd yT KY GG S qe P KD CF FF jz Bf nK Rh vA ca jA Kj Hp tw w Al o RW Wf KU fm Mr Jt m...
output:
hGbHvRAImjLFKnCByWDJgqEMTcOaUkdzwPVoelNtXsxrYfQpuSi FEfhbGwLQrljpSBzKoeTNJavguDycOCWtRPqidYxmAHVIkMUXsn IRpyjwiSTkJnaBAdOsUQFMcrfhLeHgNGltobxPWzuEXYKDqmVCv mMXWuYhVlSPoGHgNCBbdfcOrpyeRAtTaKvzxEILQnUisjwkFJDq afoTPBRjStKgMHyLIOklcdvNwuFDEnVsGApYzXhmiWCeQUxqJbr kFbiqnBwhMcPaHrNuQVeUJzgACmDfGxRXoyEsKSY...
result:
ok OK
Test #18:
score: 0
Accepted
time: 42ms
memory: 3936kb
input:
50 49 U ol fN hj aW n dQ qm OO ao T JQ an OO an QJ FF VV OT uE qE mK Cm Wj Op tA HH PR Rr ve Dn RV lP Op QO QW kV Od oL x Be IG Rz Ti o Mu VH OR pJ MU OL HS vB R qv Cu BF Vr BU l Ob z Qr ua Qt Qr nD dj aT RV vw ot JW dd dF cV OG RB nL qa aq Oq x F Qj bL RV lG nG Wj oM Vp Qx u Ho aS lL DU U U as JF O...
output:
UQavlfuROBodnpmIAVehiFqJGWCHLPMkgcKjDSbtTzENyxsrw KILacmoApesfEWShBMtiVCwNxryUJlFnbqQPzukdDvOTgGRjH ptndMgwRiVcPDoIThevubmCjlKOJHEBNsGzxaUQFqryWASfkL kvPWwzdeQyGUfTauoqiFINpEtxgcDAmBROKMJVnCjrlbSLhsH NWwrMBkDeCvtjLAVxTKOqmIEGuopyJRfsUHlgSzbhQPiaFcnd nSWLMvKCODqdblNAtfUrxkQGFHheBpERIwjcaoyJsuTmzgViP ...
result:
ok OK
Test #19:
score: 0
Accepted
time: 17ms
memory: 3928kb
input:
50 43 je cx EP yb Mp fI lI Ob DO Dt Ct N fn LD N EC MM Dy cK Ly xI KL KG eu je Q s JJ Lm xJ jx ss g hk Le qJ sE yn qh vD D DI fH p wH ak ej so GK ld N Mk so Ks Jd hd sL qQ DA DH ud CC ix jF br je fe jp Lo JB p yc fE ix N DQ Jl lJ wl N N bA lE Bc lD Ju wi H KM eE Dw eu N fO ux qg rL Fz pe AC Jn lk q ...
output:
NDeifKJwBsjrFLxqMylbCmuOzcpgnahEHoAQPGItkvd zpNbjomCFLuJEtgBfydscMieDHaqkPIvOlAwhKrxGnQ entcwrboxQildHBaJMEupvkNKOGjPImDAygshLCFzfq iMQCgvbzEhrNjHOpPacBuGfeLwJFAlxtkmonsqDKIdy IPfKnucrslDNGeFhwjqvCaibQmtoMxAJgBpkHOdyzEL LryNkBAGPpEvhxwbFIdMlaCsQzuienmHgofqDKtjOJc DgpBicMksnjAbCtyELdfHJPvmKalOGFNouhw...
result:
ok OK
Extra Test:
score: 0
Extra Test Passed