虽然是道哈希的题,可我觉得哈希太绕了,用了STL耗时有点长但可贵在自己写的
uva12338
#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
using namespace std;
string s[100001];
int main()
{
int t,o=0;
cin>>t;
while(t--)
{ int f=0;
int n;
int m,x,y;
cin>>n;
for(int i=0;i<=n;++i)
getline(cin,s[i]);
if(f==0)
{
printf("Case %d:\n",++o); f=1;}
cin>>m;
while(m--)
{
int k=0;
cin>>x>>y;
int l1=s[x].size();
int l2=s[y].size();
if(l1>l2)
{
swap(l1,l2);
}
for(int i=0;i<l2;i++)
{
if(s[x][i]==s[y][i]) k++;
else break;
}
cout<<k<<endl;
}
}
}