思路:用map将每个字符串与一个数字进行对应,然后暴力统计就好了

#include<cstring>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<map>
#include<vector>
#include<string>
#define Maxn 2010
using namespace std;
int fr[Maxn][Maxn],mul[Maxn][Maxn],Max[Maxn];
char str[Maxn][];
map<string,int> g;
vector<int> head[Maxn*];
vector<int> ans[Maxn*];
int cmp(int a,int b)
{
return strcmp(str[a],str[b])<;
}
int main()
{
int t,n,q,i,j,k,Case=,u,v;
scanf("%d",&t);
char s1[],s2[];
while(t--)
{
memset(fr,,sizeof(fr));
memset(mul,,sizeof(mul));
memset(Max,,sizeof(Max));
g.clear();
scanf("%d%d",&n,&q);
for(i=;i<=*n;i++)
head[i].clear(),ans[i].clear();
int cnt=;
for(i=;i<=n;i++)
{
scanf("%s %s",&s1,&s2);
if(!g[s1]){
g[s1]=++cnt;
strcpy(str[cnt],s1);
}
if(!g[s2]){
g[s2]=++cnt;
strcpy(str[cnt],s2);
}
u=g[s1],v=g[s2];
head[u].push_back(v);
head[v].push_back(u);
fr[u][v]=fr[v][u]=;
}
int sz;
for(i=;i<=cnt;i++){
sz=head[i].size();
for(j=;j<sz;j++){
u=head[i][j];
int ss=head[u].size();
for(k=;k<ss;k++){
v=head[u][k];
if(!fr[i][v]&&i!=v)
mul[i][v]++,Max[i]=max(Max[i],mul[i][v]);
}
}
}
for(i=;i<=cnt;i++){
for(j=;j<=cnt;j++){
if(j==i) continue;
if(mul[i][j]==Max[i]&&Max[i])
ans[i].push_back(j);
}
sort(ans[i].begin(),ans[i].end(),cmp);
}
printf("Case %d:\n",++Case);
//cout<<q<<endl;
for(i=;i<=q;i++){
scanf("%s",s1);
u=g[s1];
if(ans[u].empty())
printf("-");
else{
sz=ans[u].size();
v=ans[u][];
printf("%s",str[v]);
for(j=;j<sz;j++){
v=ans[u][j];
printf(" %s",str[v]);
}
}
printf("\n");
}
}
return ;
}

最新文章

  1. java版简易socket客户端
  2. 一对多关系domain Model中设置使用AutoMapper时出错
  3. loj 1155(最大流)
  4. C++的引用类型的变量到底占不占用内存空间?
  5. World’s Smallest h.264 Encoder
  6. 在HTML页面布局中,position的值有几种,默然的值是什么
  7. Eclipse 项目有红感叹号、小红叉
  8. Vi的几种退出方式
  9. 纯代码 自己主动屏幕适配iPhone button
  10. 优酷、YouTube、Twitter及JustinTV几个视频网站的架构
  11. Activity,Window,View之间是什么关系?
  12. 使用Golang搭建web服务
  13. 【还是回来了】博客搬家--https://cangbean.github.io
  14. Go vs .NET Core 2.1
  15. Win 10 和 Linux 双系统,从硬盘删除Linux分区,Win 10引导修复
  16. 说说nginx,iis,apache,tomcat
  17. 02-Sockent客户端
  18. spatial transformer networks 这篇论文
  19. python 爬取文章
  20. Putty+Xming实现在Windows客户端显示Linux服务器端的图形化程序

热门文章

  1. Kafka架构设计:分布式发布订阅消息系统
  2. 【css hack】正是我所找的,帮了大忙啊
  3. USB Device Finder
  4. jQuery性能优化的28个建议
  5. PHP 获取js中变量的方法
  6. 【转】网络中的AS自治域
  7. 实战项目:通过当当API将订单抓取到SAP(二)
  8. Skyline TerraExplorer Pro(等ActiveX控件)在Google Chrome浏览器的运行方法
  9. android之多媒体篇(一)
  10. 销售订单行上行号LINE_SHIPMENT_OPTION_NUMBER