Submission #146804

#TimeUsernameProblemLanguageResultExecution timeMemory
146804FashoLozinke (COCI17_lozinke)C++14
0 / 100
72 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[20005][12][12];

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...