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也 ...
随机推荐
- jquery.cookie中的操作
http://w3school.com.cn/js/js_cookies.asp jquery.cookie中的操作: jquery.cookie.js是一个基于jquery的插件,点击下载! 创建一 ...
- cpu和io进程调度时间
[题目] 在一个单CPU的计算机系统中,有两台外部设备R1.R2和三个进程P1.P2.P3.系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级.使用设备的先后顺序 ...
- mysql性能优化学习笔记-存储引擎
mysql体系架构 客户端(java.php.python等) mysql服务层(连接管理器.查询解析器.查询优化器.查询缓存) mysql存储引擎(innodb.myisam等) 存储引擎针对表而言 ...
- android通过Canvas和Paint截取无锯齿圆形图片
一个通过Canvas和Paint截取无锯齿圆形图片. /** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ public st ...
- zpf框架的business使用方法
2015年3月9日 10:58:42 controller 是接受数据分派任务的地方 model 接收controller来的数据, 获取并处理数据库中的数据, 然后再返回给controller 的业 ...
- Java类变量、实例变量的初始化顺序
题目: public class InitTest{ public static int k = 0; public static InitTest t1 = new InitTest("t ...
- RegisterDllAndOcx.bat -批量注册当前文件夹中的dll和ocx
批量注册当前文件夹中的dll和ocx 新建文件:RegisterDllAndOcx.bat @echo off echo hello,girl~~ for %%i in (*.dll *.ocx) ...
- curl命令 抓取网络数据相应头
curl --verbose --data "Password=123&Username=158101068&url=http://m.vancl.com/" & ...
- Excel统计工作簿sheet个数
按Alt+F11调出VBE后,在"视图"-“立即窗口”中输入: debug.print ThisWorkbook.Sheets.Count 回车后就可看到工作表数量.
- MongoDB配置文件YAML-based选项全解
配置文件部分 MongoDB引入一个YAML-based格式的配置文件.2.4版本以前的仍然兼容. 我的mongodb配置文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...