Submission #146798

#TimeUsernameProblemLanguageResultExecution timeMemory
146798FashoLozinke (COCI17_lozinke)C++14
90 / 100
1077 ms62468 KiB
#include <bits/stdc++.h>
#define N 1000005
#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],tmp;

map<string,ll> mp,mark;

int main()
{
	fast;
	cin>>n;
	fo(i,1,n)
		cin>>s[i];
	fo(i,1,n)
	{
		int x=s[i].size();
		for(int j=0;j<x;j++)
		{
			for(int g=0;g<=j;g++)
			{
				tmp.clear();
				for(int h=g;h<=j;h++)
				{
				// cerr<<i<<endl;
					tmp.pb(s[i][h]);
				}
				if(!mark[tmp])
					mp[tmp]++;
				mark[tmp]++;
				// cout<<tmp<<sp;
			}
		}
		// cout<<endl;
		for(int j=0;j<x;j++)
		{
			for(int g=0;g<=j;g++)
			{
				tmp.clear();
				for(int h=g;h<=j;h++)
				{
					tmp.pb(s[i][h]);
				}
				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...