Submission #1302999

#TimeUsernameProblemLanguageResultExecution timeMemory
1302999uranhishigTrener (COCI20_trener)C++20
110 / 110
174 ms16344 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define all(a) (a).begin(),(a).end() #define rep(i, n) for(int i = 0; i < (n); i++) #define pb push_back #define rep1(i, n) for(int i = 1; i <= (n); i++) #define ff first #define ss second const int mod = 1e9 + 7; map<string, int> mp; signed main() { int n, m; cin >> n >> m; for (int j = 0; j < m; j++) { string s; cin >> s; mp[s]++; } int ans = 0; for (int i = 1; i < n; i++) { for (int j = 0; j < m; j++) { string s; cin >> s; string s1 = "", s2 = ""; for (int i = 0; i < s.size() - 1; i++) { s1 += s[i]; } for (int i = 1; i < s.size(); i++) { s2 += s[i]; } if(s1 == s2) { if(s.size() == n) { ans += mp[s1]; ans += mod; ans %= mod; } mp[s] += mp[s1]; mp[s] += mod; mp[s] %= mod; } else { if(s.size() == n) { ans += mp[s2] + mp[s1]; ans += mod; ans %= mod; } mp[s] += mp[s2] + mp[s1]; mp[s] += mod; mp[s] %= mod; } } } for (auto p : mp) { string s = p.first; int cnt = p.second; // cout << s << ' ' << cnt << '\n'; } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...