Submission #1259399

#TimeUsernameProblemLanguageResultExecution timeMemory
1259399vtnooCubeword (CEOI19_cubeword)C++20
0 / 100
816 ms428 KiB
#include <bits/stdc++.h> using namespace std; const int mod=998244353; int cnt[11][26][26]; int main(){ int n;cin>>n; for(int i=0;i<n;i++){ string s; cin>>s; int a=s.front()-'a', b=s.back()-'a'; cnt[s.size()][a][b]++; cnt[s.size()][b][a]++; } int ans=0; for(int len=3;len<=10;len++){ // different lenghts for(int a=0;a<6;a++) for(int b=0;b<6;b++) for(int c=0;c<6;c++) for(int d=0;d<6;d++) for(int e=0;e<6;e++) for(int f=0;f<6;f++) for(int g=0;g<6;g++) for(int h=0;h<6;h++){ vector<int> v={ cnt[len][a][b], cnt[len][a][c], cnt[len][c][d], cnt[len][b][d], cnt[len][a][e], cnt[len][b][f], cnt[len][c][g], cnt[len][d][h], cnt[len][e][f], cnt[len][e][g], cnt[len][f][h], cnt[len][g][h] }; int cur=1; for(int i=0;i<(int)v.size();i++){ cur=(cur*v[i])%mod; } ans+=cur; ans%=mod; } } cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...