| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1343620 | huypham2009 | Cubeword (CEOI19_cubeword) | C++20 | 1195 ms | 15448 KiB |
#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
int n, cnt[8][63][63], ans = 0, num = 0;
set<string> s[8];
map<char, int> mp;
int mul(int x, int y)
{
return 1LL * x * y % mod;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i = 1; i <= n; i++)
{
string res;
cin >> res;
s[res.size() - 3].insert(res);
if(!mp[res[0]])
{
mp[res[0]] = ++num;
}
if(!mp[res.back()])
{
mp[res.back()] = ++num;
}
reverse(res.begin(), res.end());
s[res.size() - 3].insert(res);
}
for(int i = 0; i <= 7; i++)
{
for(string x : s[i])
{
cnt[i][mp[x[0]]][mp[x.back()]]++;
}
for(int ver1 = 1; ver1 <= num; ver1++)
{
for(int ver2 = 1; ver2 <= num; ver2++)
{
for(int ver3 = 1; ver3 <= num; ver3++)
{
for(int ver4 = 1; ver4 <= num; ver4++)
{
for(int ver5 = 1; ver5 <= num; ver5++)
{
for(int ver6 = 1; ver6 <= num; ver6++)
{
for(int ver7 = 1; ver7 <= num; ver7++)
{
for(int ver8 = 1; ver8 <= num; ver8++)
{
int res = mul(cnt[i][ver1][ver2], mul(cnt[i][ver2][ver3], mul(cnt[i][ver3][ver4], mul(cnt[i][ver4][ver1], mul(cnt[i][ver1][ver5], mul(cnt[i][ver2][ver6], mul(cnt[i][ver3][ver7], mul(cnt[i][ver4][ver8], mul(cnt[i][ver5][ver6], mul(cnt[i][ver6][ver7], mul(cnt[i][ver7][ver8], cnt[i][ver8][ver5])))))))))));
ans += res;
ans %= mod;
}
}
}
}
}
}
}
}
}
cout << ans;
return 0;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
