제출 #146803

#제출 시각아이디문제언어결과실행 시간메모리
146803FashoLozinke (COCI17_lozinke)C++14
50 / 100
556 ms65540 KiB
#include <bits/stdc++.h> #define N 20005 #define ll long long int #define MP make_pair #define pb push_back #define ppb pop_back #define sp " " #define endl "\n" #define fi first #define se second #define ii pair<int,int> #define lli pair<ll,ll> #define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false) #define fast2 freopen ("kmp.in","r",stdin);freopen ("kmp.out","w",stdout); #define mod 1000000009 #define fs(x,y) for(int i=1;i<=y;i++) cin>>x[i] #define fo(i,x,y) for(int i=x;i<=y;i++) #define INF 1000000000005 using namespace std; ll n,m,ar[N],sum; string s[N],st[20001][10][10]; map<string,ll> mp,mark; void pre() { // cerr<<"HELLO"<<endl; fo(i,1,n) cin>>s[i]; for(int i=1;i<=n;i++) { int x=s[i].size(); for(int j=0;j<x;j++) { for(int h=0;h<=j;h++) { string tmp; for(int g=h;g<=j;g++) st[i][j][h].pb(s[i][g]); // st[i][j][h]=tmp; } } } } int main() { fast; cin>>n; pre(); // cerr<<"HELLO"<<endl; fo(i,1,n) { int x=s[i].size(); for(int j=0;j<x;j++) { for(int g=0;g<=j;g++) { string tmp=st[i][j][g]; if(!mark[tmp]) mark[tmp]++,mp[tmp]++; } } // cout<<endl; for(int j=0;j<x;j++) { for(int g=0;g<=j;g++) { string tmp=st[i][j][g]; mark[tmp]=0; } } } fo(i,1,n) sum+=mp[s[i]]-1; cout<<sum; } /* cd onedrive\desktop\kod cls */
#Verdict Execution timeMemoryGrader output
Fetching results...