#include <map> #include <set> #include <list> #include <queue> #include <deque> #include <stack> #include <string> #include <time.h> #include <cstdio> #include <math.h> #include <iomanip> #include <cstdlib> #include <limits.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; #define LL long long #define PI acos(-1.0) #define N 2005 #define MAX INT_MAX #define MIN INT_MIN #define eps 1e-8 #define FRE freopen("a.txt","r",stdin) map<string,int> mp; map<int,string> mm; int cnt; int num[N]; vector<int> v[N]; string ans[N]; int n; bool flag[N]; void bfs(int id){ int i,j; int maxm=0; int cc=0; for(i=0;i<cnt;i++){ flag[i]=0; num[i]=0; } flag[id]=1;//!!!!!!!!! for(i=0;i<v[id].size();i++){ flag[v[id][i]]=1; } for(j=0;j<v[id].size();j++){ int x=v[id][j]; for(i=0;i<v[x].size();i++){ int y=v[x][i]; if(!flag[y]){ num[y]++;// if(maxm<num[y]){ maxm=num[y]; } } } } if(!maxm)puts("-"); else{ int k=0; for(i=1;i<=cnt;i++) if(num[i]==maxm){ ans[k++]=mm[i]; } sort(ans,ans+k); cout<<ans[0]; for(i=1;i<k;i++) cout<<" "<<ans[i]; puts(""); } } int main(){ int t; scanf("%d",&t); int ca=1; char a[17],b[17];; while(t--){ int i,j,k; mp.clear(); mm.clear(); int m; scanf("%d%d",&n,&m); cnt=1; for(i=0;i<=2*n;i++)v[i].clear(); while(n--){ scanf("%s%s",a,b); if(mp[a]==0){ mm[cnt]=a; mp[a]=cnt; cnt++; } if(mp[b]==0){ mm[cnt]=b; mp[b]=cnt; cnt++; } int s=mp[a]; int t=mp[b]; v[s].push_back(t); v[t].push_back(s); } printf("Case %d:\n",ca++); while(m--){ scanf("%s",a); int id=mp[a]; bfs(id); } } return 0; }
【上篇】windows默认文件夹权限(提升权限用) 转至http://www.oioj.net/blog/blog.asp?name=cnbird
【下篇】Google面临人才流失 克隆Google或改变IT世界(转载自:搜狐IT)
【下篇】Google面临人才流失 克隆Google或改变IT世界(转载自:搜狐IT)