QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#401621 | #944. Cubeword | nhuang685# | 21 | 143ms | 18316kb | C++20 | 2.3kb | 2024-04-29 03:00:25 | 2024-04-29 03:00:25 |
Judging History
answer
#include <bits/stdc++.h>
const int MOD = 998244353;
struct Mint {
int val = 0;
Mint(int v = 0) : val(v) {
if (val <= -MOD || MOD <= val) {
val %= MOD;
}
if (val < 0) {
val += MOD;
}
}
Mint &operator+=(Mint b) {
val += b.val;
if (val >= MOD) {
val -= MOD;
}
return *this;
}
Mint &operator*=(Mint b) {
val = (int)((int64_t)val * b.val % MOD);
return *this;
}
};
Mint operator+(Mint a, Mint b) { return a += b; }
Mint operator*(Mint a, Mint b) { return a *= b; }
const int MX = 6;
const int LEN = 10;
int main() {
std::cin.tie(nullptr)->sync_with_stdio(false);
int n;
std::cin >> n;
std::set<std::string> ss;
std::vector freq(LEN + 1, std::vector(MX, std::vector<int>(MX)));
for (int i = 0; i < n; ++i) {
std::string s;
std::cin >> s;
int len = (int)s.size();
int st = s[0] - 'a', en = s.back() - 'a';
if (!ss.contains(s)) {
freq[len][st][en]++;
}
ss.insert(s);
std::string t = s;
std::reverse(t.begin(), t.end());
if (!ss.contains(t)) {
freq[len][en][st]++;
}
ss.insert(t);
}
Mint ans = 0;
for (int len = 3; len <= 10; ++len) {
std::vector cur(MX,
std::vector(MX, std::vector(MX, std::vector<Mint>(MX))));
std::vector pre = cur;
for (int i = 0; i < MX; ++i) {
for (int j = 0; j < MX; ++j) {
pre[i][j][i][j] = freq[len][i][j];
}
}
for (int i = 0; i < 4; ++i) {
for (int a = 0; a < MX; ++a) {
for (int b = 0; b < MX; ++b) {
for (int c = 0; c < MX; ++c) {
for (int d = 0; d < MX; ++d) {
for (int e = 0; e < MX; ++e) {
for (int f = 0; f < MX; ++f) {
cur[a][b][c][d] +=
freq[len][e][c] * freq[len][f][d] * pre[a][b][e][f];
}
}
if (i < 3) {
cur[a][b][c][d] *= freq[len][c][d];
}
}
}
}
}
std::swap(cur, pre);
cur.assign(MX, std::vector(MX, std::vector(MX, std::vector<Mint>(MX))));
}
for (int i = 0; i < MX; ++i) {
for (int j = 0; j < MX; ++j) {
ans += pre[i][j][i][j];
}
}
}
std::cout << ans.val << '\n';
}
詳細信息
Subtask #1:
score: 21
Accepted
Test #1:
score: 21
Accepted
time: 142ms
memory: 18032kb
input:
100000 aaa aaaa aaaaa aaaaaacb aaaaabfdab aaaaacaeba aaaaacbec aaaaacc aaaaacdde aaaaad aaaaaef aaaaafe aaaab aaaaba aaaabac aaaabcab aaaabdcab aaaabddec aaaabeabd aaaabeeacc aaaac aaaacaafee aaaacabec aaaacad aaaacb aaaacbcbba aaaacbddbe aaaacc aaaacdda aaaacdf aaaacecdca aaaacfceed aaaacfdef aaaad...
output:
966519702
result:
ok 1 number(s): "966519702"
Test #2:
score: 0
Accepted
time: 128ms
memory: 18308kb
input:
99999 aaa aaaa aaaaa aaaaaad aaaaabcee aaaaabecdc aaaaabecf aaaaacdfcc aaaaad aaaaadab aaaaaecaab aaaaaee aaaaafafd aaaaafccf aaaab aaaaba aaaabad aaaabada aaaabc aaaabcaecb aaaabd aaaabdfb aaaabede aaaabefedb aaaabfeaa aaaabffddb aaaac aaaacbbcc aaaacbec aaaaccb aaaaccbfee aaaaccde aaaacceb aaaacd ...
output:
884966963
result:
ok 1 number(s): "884966963"
Test #3:
score: 0
Accepted
time: 132ms
memory: 18028kb
input:
99998 aaa aaaa aaaaa aaaaaaa aaaaaae aaaaac aaaaaccb aaaaadb aaaaadcbd aaaaafedd aaaaaff aaaab aaaabadd aaaabbeb aaaabc aaaabceca aaaabcf aaaabd aaaabdce aaaabe aaaabf aaaabfab aaaabfad aaaabfeffb aaaac aaaacaecbb aaaacb aaaacbdb aaaacda aaaacdd aaaacdddaf aaaace aaaacecde aaaacfeff aaaacffe aaaad a...
output:
519865738
result:
ok 1 number(s): "519865738"
Test #4:
score: 0
Accepted
time: 143ms
memory: 18028kb
input:
99997 aaa aaaa aaaaa aaaaaa aaaaaac aaaaaaed aaaaab aaaaac aaaaad aaaaadbdf aaaaaf aaaaafc aaaaafe aaaaaffebf aaaab aaaaba aaaababaa aaaababdca aaaabacbcb aaaabae aaaabaeec aaaabc aaaabdb aaaabddeab aaaabfe aaaac aaaacbafdf aaaacbfbcb aaaaccfe aaaacd aaaacdfb aaaacecfaa aaaaceeea aaaacfbaf aaaacffb ...
output:
440905828
result:
ok 1 number(s): "440905828"
Test #5:
score: 0
Accepted
time: 142ms
memory: 18100kb
input:
99996 aaa aaaa aaaaa aaaaaaea aaaaab aaaaabaf aaaaabcb aaaaac aaaaacbcce aaaaadb aaaaadf aaaaaeaf aaaaaeb aaaaaef aaaaaefd aaaaafeee aaaab aaaabaacca aaaabb aaaabbdd aaaabc aaaabcc aaaabcdb aaaabcdbbb aaaabcdf aaaabce aaaabde aaaabdefb aaaac aaaacaee aaaacafa aaaacb aaaacbb aaaaccebfc aaaacd aaaacdf...
output:
606830795
result:
ok 1 number(s): "606830795"
Test #6:
score: 0
Accepted
time: 140ms
memory: 18092kb
input:
99995 aaa aaaa aaaaa aaaaaaa aaaaaaabcf aaaaaaaccf aaaaaaafb aaaaaad aaaaaaf aaaaab aaaaabecfc aaaaac aaaaacbc aaaaacc aaaaaceee aaaaacffc aaaaad aaaaadfccf aaaaaec aaaaaee aaaaaefaec aaaab aaaabaffab aaaabbaadc aaaabbd aaaabbed aaaabdcebd aaaabeacf aaaabedfc aaaabfcd aaaabfe aaaac aaaaca aaaacaf aa...
output:
293744889
result:
ok 1 number(s): "293744889"
Test #7:
score: 0
Accepted
time: 125ms
memory: 18052kb
input:
99994 aaa aaaa aaaaa aaaaaa aaaaaaab aaaaaabdd aaaaacbfb aaaaacfeef aaaaadab aaaaae aaaaaeaf aaaaaf aaaaafac aaaab aaaababdb aaaabb aaaabbadf aaaabbec aaaabccc aaaabde aaaabdffbf aaaabefdfa aaaabff aaaabffdf aaaac aaaacaf aaaacafed aaaacbeccd aaaaccbbb aaaacd aaaacdba aaaacddafb aaaacdf aaaacdfdc aa...
output:
745454877
result:
ok 1 number(s): "745454877"
Test #8:
score: 0
Accepted
time: 129ms
memory: 18044kb
input:
99993 aaa aaaa aaaaaa aaaaaaa aaaaaabdf aaaaabbee aaaaac aaaaaccfaf aaaaadbece aaaaafa aaaaafacb aaaab aaaabadda aaaabb aaaabbacd aaaabbea aaaabcddb aaaabdbff aaaabfb aaaabfee aaaac aaaaca aaaacbbc aaaacbecb aaaacc aaaaccbbec aaaaccc aaaacdcb aaaacddd aaaacdfcba aaaaceae aaaacecdfe aaaacfc aaaad aaa...
output:
429068770
result:
ok 1 number(s): "429068770"
Test #9:
score: 0
Accepted
time: 136ms
memory: 18040kb
input:
99992 aaa aaaa aaaaa aaaaaaccb aaaaaacdef aaaaaadfd aaaaaafd aaaaab aaaaabd aaaaabeee aaaaacda aaaaacf aaaaad aaaaadbca aaaaaeed aaaaafccfb aaaab aaaababb aaaabaddb aaaabafadc aaaabbb aaaabbd aaaabcd aaaabce aaaabf aaaabfa aaaabfbf aaaabfcac aaaabfd aaaabfde aaaabff aaaabffdc aaaac aaaaca aaaacae aa...
output:
289771162
result:
ok 1 number(s): "289771162"
Test #10:
score: 0
Accepted
time: 131ms
memory: 17988kb
input:
99991 aaa aaaa aaaaa aaaaaaad aaaaac aaaaacecbf aaaaacfa aaaaadcdc aaaaae aaaab aaaabafafe aaaabee aaaabeeb aaaabf aaaabfdcc aaaacaeffe aaaacc aaaaccab aaaacded aaaace aaaacea aaaaceaad aaaaceaecc aaaacfeb aaaacff aaaad aaaada aaaadaf aaaadba aaaadbfe aaaadc aaaadcf aaaadd aaaaddae aaaaddcf aaaade a...
output:
875542265
result:
ok 1 number(s): "875542265"
Test #11:
score: 0
Accepted
time: 141ms
memory: 18088kb
input:
99990 aaa aaaa aaaaa aaaaaba aaaaabdcd aaaaac aaaaacbfcf aaaaada aaaaaed aaaaaeeec aaaaafdc aaaaaffadc aaaab aaaabaddd aaaabceeeb aaaabda aaaabf aaaabfaffe aaaabfedcd aaaac aaaaca aaaacab aaaacabdfc aaaacaf aaaacbaea aaaacbb aaaacccbf aaaaccecaf aaaacdf aaaacede aaaaceebea aaaaceeddd aaaacfba aaaad ...
output:
236060052
result:
ok 1 number(s): "236060052"
Test #12:
score: 0
Accepted
time: 141ms
memory: 18300kb
input:
99989 aaa aaaa aaaaa aaaaaadfdd aaaaabee aaaaac aaaaacbb aaaaaed aaaaaedbe aaaaafae aaaab aaaababfa aaaabacb aaaabbcefd aaaabc aaaabccebb aaaabeaea aaaabeb aaaabeca aaaabed aaaabedb aaaabfaba aaaabfbdb aaaabfd aaaabfdf aaaabffeb aaaac aaaaca aaaacad aaaaccacbc aaaaccafaa aaaaccb aaaacdccc aaaacdff a...
output:
382736648
result:
ok 1 number(s): "382736648"
Test #13:
score: 0
Accepted
time: 137ms
memory: 18032kb
input:
99988 aaa aaaa aaaaa aaaaaacc aaaaaaeef aaaaab aaaaabfbdc aaaaabfdb aaaaaccdca aaaaacfbc aaaaadf aaaaaede aaaaaf aaaaafdbcd aaaaafea aaaab aaaabbae aaaabbbda aaaabbd aaaabbec aaaabc aaaabcacc aaaabcaeca aaaabce aaaabdbae aaaabdbb aaaabee aaaabfead aaaabfeefb aaaac aaaacb aaaacbbe aaaacccfaa aaaaccd ...
output:
778837075
result:
ok 1 number(s): "778837075"
Test #14:
score: 0
Accepted
time: 142ms
memory: 18316kb
input:
99987 aaa aaaa aaaaa aaaaaabe aaaaaacbbc aaaaaacecf aaaaaadc aaaaaaeffd aaaaab aaaaabf aaaaacab aaaaaccbaf aaaaacd aaaaacdeca aaaaacec aaaaaceda aaaaacf aaaaadc aaaaadefe aaaaae aaaaaeaab aaaaafabe aaaaafaf aaaaafddad aaaaaffccd aaaab aaaabafb aaaabdbca aaaabdebe aaaabecca aaaabfba aaaabfbb aaaabfbd...
output:
265167705
result:
ok 1 number(s): "265167705"
Test #15:
score: 0
Accepted
time: 142ms
memory: 18028kb
input:
99986 aaa aaaa aaaaa aaaaaa aaaaaaafc aaaaaabcfa aaaaaabdbb aaaaaabfd aaaaaadd aaaaaadf aaaaab aaaaabbba aaaaabcc aaaaacebdd aaaaad aaaaaddbcb aaaaaf aaaaafa aaaaafaaba aaaaafea aaaab aaaababdc aaaababfc aaaabaccbe aaaabb aaaabbcb aaaabbfecf aaaabdad aaaabe aaaabecea aaaabeddc aaaabfdbec aaaac aaaac...
output:
376583661
result:
ok 1 number(s): "376583661"
Test #16:
score: 0
Accepted
time: 134ms
memory: 18124kb
input:
99985 aaa aaaa aaaaa aaaaaa aaaaaadaed aaaaaae aaaaabbdb aaaaac aaaaadadba aaaaaeb aaaaaefdd aaaaafd aaaaafe aaaaaffde aaaab aaaababbda aaaabace aaaabaf aaaabbfcf aaaabcefad aaaabdacfb aaaabdef aaaabe aaaabeab aaaabfd aaaabfdbf aaaac aaaacbbef aaaacc aaaacd aaaacdae aaaacdfea aaaace aaaacec aaaacfbf...
output:
546456611
result:
ok 1 number(s): "546456611"
Test #17:
score: 0
Accepted
time: 134ms
memory: 17980kb
input:
99984 aaa aaaa aaaaaaca aaaaaaecf aaaaabdde aaaaabfc aaaaacaefc aaaaacbfed aaaaacf aaaaadcec aaaaadeabf aaaaafdee aaaab aaaabafecf aaaabbe aaaabdbde aaaabebac aaaabfe aaaabffa aaaac aaaacbbdb aaaacbe aaaaccead aaaacdaace aaaacdaf aaaacee aaaacfa aaaacfeae aaaad aaaada aaaadaddbb aaaadb aaaadba aaaad...
output:
82579691
result:
ok 1 number(s): "82579691"
Test #18:
score: 0
Accepted
time: 136ms
memory: 18088kb
input:
99983 aaa aaaa aaaaa aaaaaab aaaaac aaaaaca aaaaacbdd aaaaad aaaaadf aaaaae aaaaaeedbb aaaaaf aaaaafd aaaaafda aaaaba aaaabaccb aaaabada aaaabafba aaaabb aaaabbb aaaabcbf aaaabcc aaaabccea aaaabceec aaaabd aaaabdaeaf aaaabe aaaabead aaaabeafc aaaabefc aaaabefda aaaabfdce aaaaca aaaacabfd aaaacbaaf a...
output:
843794331
result:
ok 1 number(s): "843794331"
Test #19:
score: 0
Accepted
time: 130ms
memory: 18272kb
input:
99982 aaa aaaa aaaaa aaaaaa aaaaabfcd aaaaac aaaaacc aaaaacccde aaaaae aaaaaea aaaaaeaa aaaaaebce aaaaaec aaaaaf aaaab aaaabaa aaaabac aaaabae aaaabbc aaaabbdf aaaabbf aaaabc aaaabddaf aaaabdef aaaabfdcc aaaabfea aaaabff aaaac aaaacab aaaacb aaaacbfe aaaacc aaaacca aaaaccabe aaaacd aaaacdaefe aaaacd...
output:
73145981
result:
ok 1 number(s): "73145981"
Test #20:
score: 0
Accepted
time: 137ms
memory: 18212kb
input:
99981 aaa aaaa aaaaa aaaaaa aaaaaaac aaaaaba aaaaacd aaaaadf aaaaaef aaaaafae aaaaaffd aaaab aaaabbaca aaaabbedb aaaabc aaaabcc aaaabccd aaaabddd aaaabebbca aaaabebbe aaaabebbea aaaabec aaaabece aaaabedade aaaabeee aaaabfcba aaaac aaaacaacbc aaaacbbeda aaaacbe aaaacbfbd aaaacdd aaaaceeaa aaaacf aaaa...
output:
328200997
result:
ok 1 number(s): "328200997"
Test #21:
score: 0
Accepted
time: 139ms
memory: 18020kb
input:
99980 aaa aaaa aaaaa aaaaaa aaaaaaa aaaaab aaaaabb aaaaac aaaaacfcab aaaaaddd aaaaadfa aaaaaedfcc aaaaaf aaaab aaaabaa aaaabab aaaabb aaaabbd aaaabbfcb aaaabc aaaabcaccd aaaabd aaaabdacd aaaabde aaaabeec aaaac aaaacabeff aaaacadb aaaacba aaaacbc aaaacbcbc aaaacbd aaaaceceef aaaacf aaaacfb aaaacfcdec...
output:
975997785
result:
ok 1 number(s): "975997785"
Subtask #2:
score: 0
Runtime Error
Dependency #1:
100%
Accepted
Test #22:
score: 0
Runtime Error
input:
100000 aaa aaaa aaaadfnl aaab aaabf aaabgbohpg aaac aaadhgjebb aaadjfc aaaeigcc aaaekhec aaafgb aaaggn aaagifb aaahmjhb aaaj aaajokcjd aaakaiojjl aaakb aaalgb aaalpkf aaam aaamehmil aaane aaanmo aaaobb aaaogddkfh aaap aaapifl aab aaba aabakfm aabcb aabcbhb aabembjed aabf aabfmoppgf aabh aabhkj aabhl...
output:
result:
Subtask #3:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%