Submission #1266912

#TimeUsernameProblemLanguageResultExecution timeMemory
1266912herreinsteinTrener (COCI20_trener)C++20
22 / 110
6 ms1864 KiB
#include <bits/stdc++.h> #define int long long int #define ff first #define ss second const int MOD = 998244353; const int N = 2e5 + 5; using namespace std; map<string, int> mp; void solve(){ int n, k; cin >> n >> k; string s[n*k]; for(int i = 0; i < n*k; i++) cin >> s[i]; for(int i = 0; i < k; i++) mp[s[i]]++; for(int i = k; i < n*k-k; i++){ string s1 = s[i].substr(0, s[i].size()-1); string s2 = s[i].substr(1, s[i].size()-1); if(s1 != s2){ mp[s[i]] += mp[s1] + mp[s2]; } else{ mp[s[i]] += mp[s1]; } // cout << s[i] << " " << mp[s[i]] << endl; } int ans = 0; for(int i = n*k-k; i < n*k; i++){ string s1 = s[i].substr(0, s[i].size()-1); string s2 = s[i].substr(1, s[i].size()-1); if(s1 != s2) ans += mp[s1] + mp[s2]; else ans += mp[s1]; } cout << ans << endl; } int32_t main(){ int t; // cin >> t; t = 1; while(t--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...