hdu 4039 2011成都赛区网络赛I ***
两层搜索,直接for循环就行了,还要注意不能是自己的朋友
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
#define MOD 1000000007
const int INF=0x3f3f3f3f;
const double eps=1e-;
typedef long long ll;
#define cl(a) memset(a,0,sizeof(a))
#define ts printf("*****\n");
const int MAXN=;
int n,m,tt;
char s1[],s2[];
int vis[MAXN];
map<string,int> mp;
vector<int> vc[MAXN];
int w;
struct Str
{
char str[];
}s[MAXN],ss[MAXN];
bool cmp1(Str a,Str b)
{
return strcmp(a.str,b.str)<;
}
int sum=,to,id,Max;
bool flag[MAXN];
int bfs(int x)
{
sum=;
id,Max=;
for(int i=;i<=w;i++) vis[i]=,flag[i]=;
flag[x]=;
for(int i=;i<vc[x].size();i++)
{
flag[vc[x][i]]=;
}
for(int j=;j<vc[x].size();j++)
{
int e=vc[x][j];
for(int i=;i<vc[e].size();i++)
{
int y=vc[e][i];
if(!flag[y])
{
vis[y]++;//
if(Max<vis[y])
{
Max=vis[y];
id=y;
ss[]=s[y];
sum=;
}
}
}
}
for(int i=;i<=w;i++)
{
if(Max==vis[i]&&id!=i)
{
strcpy(ss[sum++].str,s[i].str);
}
}
if(Max==) return ;
else return sum;
}
int main()
{
int i,j,k;
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif
scanf("%d",&tt);
int ca=;
while(tt--)
{
printf("Case %d:\n",ca++);
scanf("%d%d",&n,&m);
int tot=;
int u,v;
mp.clear();
for(i=;i<=*n;i++) vc[i].clear();
for(i=;i<n;i++)
{
scanf("%s%s",s1,s2);
if(!mp[s1]) mp[s1]=tot++,u=tot-,strcpy(s[tot-].str,s1);
else u=mp[s1];
if(!mp[s2]) mp[s2]=tot++,v=tot-,strcpy(s[tot-].str,s2);
else v=mp[s2];
vc[u].push_back(v);
vc[v].push_back(u);
}
w=tot;
while(m--)
{
scanf("%s",s1);
int q=bfs(mp[s1]);
if(q==)
{
cout<<ss[].str<<endl;
}
else if(q>=)
{
sort(ss,ss+q,cmp1);
cout<<ss[].str;
for(i=;i<q;i++)
{
cout<<" "<<ss[i].str;
}
cout<<endl;
}
else
{
printf("-\n");
}
}
}
}
hdu 4039 2011成都赛区网络赛I ***的更多相关文章
- hdu 4035 2011成都赛区网络赛E 概率dp ****
太吊了,反正我不会 /* HDU 4035 dp求期望的题. 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点 ...
- hdu 4031 2011成都赛区网络赛A题 线段树 ***
就是不知道时间该怎么处理,想了好久,看了别人的题解发现原来是暴力,暴力也很巧妙啊,想不出来的那种 -_-! #include<cstdio> #include<iostream&g ...
- hdu 4038 2011成都赛区网络赛H 贪心 ***
贪心策略 1.使负数为偶数个,然后负数就不用管了 2.0变为1 3.1变为2 4.2变为3 5.若此时操作数剩1,则3+1,否则填个1+1,然后回到5
- hdu 4036 2011成都赛区网络赛F 模拟 **
为了确保能到达终点,我们需要满足下面两个条件 1.能够到达所有山顶 2.能够在遇到苦土豆时速度大于他 二者的速度可以用能量守恒定律做,苦土豆的坐标可通过三角形相似性来做 #include<cst ...
- hdu 4033 2011成都赛区网络赛 余弦定理+二分 **
二分边长,判断最后内角和是否为2pi,注意l与r的选取,保证能组成三角形 #include<cstdio> #include<iostream> #include<alg ...
- hdu 4034 2011成都赛区网络赛 逆向floyd **
给出一个最短路邻接矩阵,求出构图的最小边数 正常的floyd的k放在最外面是为了防止i到j的距离被提前确定,而逆向的floyd,i到j的距离已经确定,所以需要在i到j之间枚举k,注意需要break,否 ...
- hdu 4731 2013成都赛区网络赛 找规律
题意:找字串中最长回文串的最小值的串 m=2的时候暴力打表找规律,打表可以用二进制枚举
- hdu 4293 2012成都赛区网络赛 dp ****
题意:有n个人,可任意分成若干组,然后每个人个各提供一个信息,表示他们组前面有多少人,后面有多少人.问最多有多少个信息是不冲突的. 将n个人看成一组区间,然后每个人的信息可以表示为该人所在组的区间,然 ...
- hdu 4291 2012成都赛区网络赛 矩阵快速幂 ***
分析:假设g(g(g(n)))=g(x),x可能非常大,但是由于mod 10^9+7,所以可以求出x的循环节 求出x的循环节后,假设g(g(g(n)))=g(x)=g(g(y)),即x=g(y),y也 ...
随机推荐
- phpcms图片模型调用组图的问题
phpcms里面有个图片模型,之前一直没有用过,之前用的轮播图是用文章+缩略图+推荐位实现的 今天看了一下图片模型添加内容的地方,和平常的文章相比多了一个组图的地方:
- 通过Nginx和Nginx Plus阻止DDoS攻击
分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网带宽的增加和相关工具的不断发布,这种 ...
- 深入浅出Java回调机制
本文转载自http://hellosure.iteye.com/blog/1130176 在网上看到了一个比喻,觉得很形象,这里借用一下: 你有一个复杂的问题解决不了,打电话给你的同学,你的同学说可以 ...
- sql语句操作
1.1 SQL语句 1.1.1 什么是SQL SQL:Structured Query Language, 结构化查询语言. 特点: * 非过程性语言: * 过程性语言特点:一个语句需要依赖上面的几条 ...
- C++复制控制
1.复制构造函数可用于: (1)根据另一个同类型的对象显示或隐式初始化一个对象 string str1="test"; //隐式 string str2=str1; //显示 ...
- simple demo how to get the list of online users
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq ...
- 【leetcode】Happy Number(easy)
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- Hibernate双向一对多对象关系模型映射
双向one-to-many 描述部门和岗位:一个部门有多个岗位 将单向的one-to-many 和many-to-one合并. 4.1双向的one-to-many数据库模型 create table ...
- iOS中UITableView的一些设置
不可滑动: ? 1 tableView.userInteractionEnabled = NO; 也可以在storyboard中的userInteractionEnable属性设置 显示导向箭头: ? ...
- vs c++系统函数 计时器和暂停
在vs console下, 1 添加计时器 #include <Windows.h> double start = GetTickCount(); double end = GetTick ...