Submission #464066

#TimeUsernameProblemLanguageResultExecution timeMemory
464066JasiekstrzTrener (COCI20_trener)C++17
110 / 110
189 ms18140 KiB
#include<bits/stdc++.h> #define fi first #define se second using namespace std; const int MOD=1e9+7; map<string,int> dp; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,k; cin>>n>>k; long long ans=0; dp[""]=1; for(int i=1;i<=n;i++) { for(int j=1;j<=k;j++) { string s; cin>>s; if(i==n) ans=(ans-dp[s])%MOD; string s1=s,s2=s; s1.pop_back(); s2.erase(s2.begin()); dp[s]=((long long)dp[s]+dp[s1]+(s1!=s2)*dp[s2])%MOD; if(i==n) ans=(ans+dp[s])%MOD; } } cout<<(ans+MOD)%MOD<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...