hdu 4460 Friend Chains

GD32F103VBT6串口OTA升级保姆级教程:当硬件没留Boot0引脚时,我是如何用Keil和Ymodem搞定的 本文详细介绍了GD32F103VBT6在无Boot0引脚情况下的串口OTA升级方案,通过Keil工程改造和Ymodem协议实现可靠固件更新。文章涵盖Bootloader配置、APP工程调整、Ymodem传输优化等关键步骤,为嵌入式开发者提供了一套完整的解决方案,特别适用于封闭式设备的远程更新需求。 阅读详情

Friend Chains

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 96    Accepted Submission(s): 41


Problem Description
For a group of people, there is an idea that everyone is equals to or less than 6 steps away from any other person in the group, by way of introduction. So that a chain of "a friend of a friend" can be made to connect any 2 persons and it contains no more than 7 persons.
For example, if XXX is YYY’s friend and YYY is ZZZ’s friend, but XXX is not ZZZ's friend, then there is a friend chain of length 2 between XXX and ZZZ. The length of a friend chain is one less than the number of persons in the chain.
Note that if XXX is YYY’s friend, then YYY is XXX’s friend. Give the group of people and the friend relationship between them. You want to know the minimum value k, which for any two persons in the group, there is a friend chain connecting them and the chain's length is no more than k .
 

Input
There are multiple cases.  
For each case, there is an integer N (2<= N <= 1000) which represents the number of people in the group.  
Each of the next N lines contains a string which represents the name of one people. The string consists of alphabet letters and the length of it is no more than 10.  
Then there is a number M (0<= M <= 10000) which represents the number of friend relationships in the group.  
Each of the next M lines contains two names which are separated by a space ,and they are friends.  
Input ends with N = 0.
 

Output
For each case, print the minimum value k in one line.  
If the value of k is infinite, then print -1 instead.
 

Sample Input
  
3 XXX YYY ZZZ 2 XXX YYY YYY ZZZ 0
 

Sample Output
  
2
 

Source
 
#include<cstdio>
#include<map>
#include<queue>
#include<string>
#include<iostream>
using namespace std;
const int N=1001;
const int M=20001;
const int INF=0x3f3f3f3f;
map<string,int> hs;
int dis[N],head[M],v[M],nxt[M],n,cnt;
void add(int a,int b)
{
	v[cnt]=b;
	nxt[cnt]=head[a];
	head[a]=cnt++;
}
void spfa(int s)
{
	int i,p,q,he=0,ta=1,Q[N];
	bool inQ[N];
	for(i=0;i<n;i++){dis[i]=INF;inQ[i]=0;}
	Q[0]=s;inQ[s]=1;dis[s]=0;
	while(he!=ta)
	{
		p=Q[he++];inQ[p]=0;
		for(i=head[p];i!=-1;i=nxt[i])
		{
			q=v[i];
			if(dis[q]>dis[p]+1)
			{
				dis[q]=dis[p]+1;
				if(!inQ[q]){Q[ta++]=q;inQ[q]=1;if(ta==N)ta=0;}
			}
		}
		if(he==N)he=1;
	}
}
/*void spfa(int s)
{
	int i,p;
	queue<int> Q;
	bool inQ[N];
	for(i=0;i<n;i++){dis[i]=INF;inQ[i]=0;}
	Q.push(s);dis[s]=0;inQ[s]=1;
	while(!Q.empty())
	{
		s=Q.front();Q.pop();inQ[s]=0;
		for(i=head[s];i!=-1;i=nxt[i])
		{
			p=v[i];
			if(dis[p]>dis[s]+1)
			{
				dis[p]=dis[s]+1;
				if(!inQ[p]){Q.push(p);inQ[p]=1;}
			}
		}
	}
}*/
int main()
{
	string s1,s2;
	int i,j,m;
	while(scanf("%d",&n),n)
	{
		cnt=0;hs.clear();
		memset(head,-1,sizeof(head));
		for(i=0;i<n;i++){cin>>s1;hs[s1]=i;}
		scanf("%d",&m);
		while(m--)
		{
			cin>>s1>>s2;
			int a=hs[s1],b=hs[s2];
			add(a,b);
			add(b,a);
		}
		int ans=0;
		for(i=0;i<n;i++)
		{
			spfa(i);
			for(j=0;j<n;j++)ans=max(ans,dis[j]);
		}
		if(ans==INF)puts("-1");
		else printf("%d\n",ans);
	}
	return 0;
}


YOLOv13必学核心:SKAttention选择性核注意力机制原理 + 实战全拆解 SKAttention的核心思想来源于人类视觉系统的一个重要特性:根据不同的视觉刺激,人眼能够自适应地调整感受野大小。SKAttention将这一生物学原理转化为深度学习中的注意力机制,通过动态选择和融合不同大小的卷积核,实现了自适应的多尺度特征提取。在人类视觉皮层中,不同的神经元具有不同大小的感受野,而且这些感受野的大小会根据视觉刺激的类型动态调整。本文将深入解析SKAttention模块的设计原理、数学基础、实现细节,以及其在YOLOv13目标检测框架中的集成应用,为读者提供全面而深入的技术理解。 阅读详情

相关推荐

C#海康威视摄像头控制,将IntPtr转换成Bitmap图片

C#通过skd控制海康威视摄像头,获取bitmap格式图片

ReflexMechanism的博客 6586

HDU 4460 Friend Chains

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4460 题意:给出n个人之间的关系,他们之间形成的朋友链,每个连链有自己的长度,判断是否可以找到最小的K大于所有的链长,如果k是无穷,就输出-1 思路:宽搜暴力解决,在解决名字(字符串)和字符串的对应的时候,map ~~nice, #include #include

我心中有猛虎 细嗅蔷薇 854

在不同版本Python中安装PyQT5及PyQT5-Tools

在不同版本Python中安装PyQT5及PyQT5-Tools

zoomgu680的博客 2万+

HDU-4460.Friend Chains(spfa算法)

HDU-4460.Friend Chains(spfa算法) Problem Description For a group of people, there is an idea that everyone is equals to or less than 6 steps away from any other person in the group, by way of introducti...

紫藤&code的博客 385

基于STM32+OV7670的图像采集系统(基础篇:ov7670介绍)

一、简单认识 先来看一下外观: OV7670,图像传感器,体积小,工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输入整帧、子采样、取窗口等方式的各种分辨率8位影像数据。 其他介绍比较繁琐,这里就不一一赘述了,我们只需要知道它是通过SCCB总线控制的就行了。 带FIFO与不带FIFO 目前市场上购买的ov7670模块分为两种,一种是不带FIFO芯片、一种是带FIFO芯片的。 FIFO是什么:(First Input First Output)先入先出的意思,

m0_59113542的博客 4万+

保姆级教程:在摩尔线程MTT S80上快速部署Ollama运行DeepSeek R1模型(附性能测试)

本文提供了一份详细的保姆级教程,指导用户在摩尔线程MTT S80显卡上部署Ollama并运行DeepSeek R1模型。内容涵盖从驱动安装、Docker环境配置到模型拉取、性能测试的全流程,并分享了实测数据与优化技巧,旨在帮助开发者快速在国产GPU平台上实现高效的大语言模型推理。

weixin_29091837的博客 525

树的最长路径

树的最长路径 题目描述 样例解释 前置知识 树的直径,又称树的最长链,定义为一棵树上最远的两个节点的路径,即树上一条不重复经过某一条边的最长的路径。树的直径也可以代指这条路径的长度。 求树的直径有两种比较常用的方法:树形DP和搜索。 如何找树的直径呢? 任取一点作为起点,找到距离该点最远的一个点u。 这一步可以用DFS或者BFS来解决。 再找到距离点u最远的一个点v。这一步可以用DFS或者BFS来解决。 那么点u到点v之间的路径就是一条直径了。 如何证明点u到点v之间的路径就是一条直径了呢? 要

qq_45832461的博客 4806

vcs 覆盖率收集1——三种覆盖率类型、covergroup、bins、数据采样、覆盖率选项

介绍各种覆盖率,以及如何编写覆盖率收集的代码

qq_42135020的博客 1万+

树的最长链

最长链,就是最长的一条路径 1 / \ \ 2 3 4 / \ \ 5 6 7 ==\ ...

weixin_30407613的博客 524

Unity2D像素刀光实现:粒子方向控制与像素级渲染规范

像素风游戏中的刀光特效并非普通粒子动画,而是需严格遵循像素艺术原理的视觉暂留模拟。其核心在于将‘瞬时切割感’转化为程序可执行的渲染逻辑:通过禁用纹理滤波保障1:1像素锐度,绑定刀锋向量控制粒子运动方向,限定≤0.15秒生命周期匹配人眼暂留阈值,并采用Stretched Billboard实现动态拉伸拖影。该方案兼顾美术语义(如直劈、横扫、突刺)与工程约束(Sorting Layer分层、对象池复用、单粒子GPU优化),广泛适用于Unity2D平台的动作反馈系统,尤其适配《空洞骑士》《死亡细胞》类高节奏像素R

weixin_32390647的博客 283

DRAM自测试模块

1 背景技术DDR3/4 SDRAM属于高速外设,最高时钟频率可达到1600MHz,最高速率可达3200MT/s。在存储控制器与DDR34 SDRAM设备之间有一层专为高速接口设计的模拟电路,此电路对于前端设计人员来说,不管在模拟验证阶段和回片测试阶段,都是一个黑盒子。而对于后端测试人员来说若此部分为外购IP,则内部结构也是无法清楚了解的。所以在测试阶段,对于DDR34 SDRAM的测试就具有一定的

Hierro的DDR世界 7014

树上最长链 (树形dp 或 两次dfs )

带权树上最长链 (可能负权 ) 最长链:(树上直径,树上两点距离最大值,树上距离最远的两点 )。 最长链 = 以某一结点为端点的最长链+次长链。 mx1: 以 i 节点为根的子树中,i 节点到叶子节点的最长距离(不含 i 节点)即最长链 mx2: 以 i 节点为根的子树中,i 节点到叶子节点的次长距离(不含 i 节点)即次长链 #define first f #define second s #define ll long long #define pb push_back #define pii pair

qhq889的博客 1308

【GameFramework框架】二、GameFramework框架介绍

Game Framework框架是由E大(Ellan Jiang)开源的一款基于Unity的通用游戏框架。Game Framework框架提供了游戏开发中常用的框架基础模块,将基础模型进行了封装,在资源管理和资源更新方面比较完善,可以大大加大开发进程,加快开发速度,并且还在在此此处上保证产品质量。实在是代码开发、框架学习、编程进阶、居家旅行哦不对,是提升自己的最佳实践。Game Framework框架。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5849

HDU4460 LA6378 Friend Chains【BFS】

Friend Chains Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6960 Accepted Submission(s): 2249 Problem Description For a group of people, t...

海岛Blog 667

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU 4460 Friend Chains

题目链接 换句话解释题意就是说求最短路的最大值(相邻两点的距离为1),数据范围是点数 1000 ,边数20000, 难道要求所有点之间的最短路再求最大值, O(n^3)  有点大。 怎么办呢? 其实是可以优化的,从一个源点用BFS一圈一圈地向外扩展,最短路即圈数,复杂度是O(n),比dijkstra或SPFA都要好,其次,如果图不是联通的,那么答案肯定的INF,直接输出。 这样整体最坏情况是O

u011276914的专栏 807

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hdu-4460 Friend Chains

http://acm.hdu.edu.cn/showproblem.php?pid=4460 求任意点对的最短距离的最大值,因为题目数据量大,用floyed 和dijkstra都不行,这里用spfa实现 #include #include #include #include #include #include #include #include #define N 1001 #define i

有一种力量叫乐观 856

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU 4460 Friend Chains

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4460 题记:BFS题目。 #include<bits/stdc++.h> using namespace std; const int N=1005; map<string,int>ma; vector<int>g[N]; int vis[N]; int room[...

moyangxian 203

Friend Chains bfs hdu-4460

题面链接:Problem - 4460 题面: 题意:有n个人,m条关系,每条关系给定两个人,表示这两个人是朋友,但是朋友的朋友不是朋友关系,现在求k的最小值,任意两个人的朋友链的长度都小于k(也就是求任意两个人的朋友链的最大长度),如果有两个人之间没有朋友链就输出-1 思路:刚开始我题目看一半以为是并查集(最近并查集刷的比较多),但是看完题目就觉得惯性思维了,然后我就开始纠结是dfs,还是最短路,然而这不是单源最短路,但是我会的dij写法铁t,我就一直往dfs上面想,但是还是t,后来我发现.

m0_55682843的博客 313

HDU4460 Friend Chains

For a group of people, there is an idea that everyone is equals to or less than 6 steps away from any other person in the group, by way of introduction. So that a chain of "a friend of a friend" can be made to

qq_34170626的博客 390

HDU 4460 Friend Chains 【bfs】【spfa】

点击打开链接 题意,求两两朋友之间的最短路中的最大值。 我一直理解错题意,能写过才奇怪了!!!!, 题解:用bfs  把每个能走的朋友都走一遍,然后记录最远的距离。     最后求最大值。 #include #include #include #include #include #include #include #include using namespace st

zoro_n的博客 388

hdu 4460—— Friend Chains

bfs #include #include #include #include #include #include using namespace std; #define maxn 1100 #define maxm 221000 map mat; int head[maxn],v[maxm],next[maxm]; int cnt; int dis[maxn]; int

1241

HDU-#4460 Friend Chains(bfs)

题目大意:给出n个人以及m种朋友关系,求一个系数k,使得任意两人的关系长度不会超过k。         解题思路:最容易想到的是Floyd算法,求出每两人之间的的距离,然后更新最长关系值。但在这样O(N^3)会超时,这里可以用bfs去跑出所有点的距离,然后再判断。也可利用SPFA算法进行求解,这与bfs的写法相差不大。不过还有大神用了字典树来写,实在是高呀。这里给出前两种的code。    

VoidSun 592

HDU 4460 Friend Chains ( BFS )

每个点求一次最短路,在最短路中找最长的。 用邻接表存边,尽量不要用STL,很容易超时。 #include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> using namespace std; const int MAXN =...

aegt43853的博客 194

HDU 4460 Friend Chains(BFS)

Friend Chains Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4943    Accepted Submission(s): 1603 Problem Description For a group of p

Interstellar_的博客 568

hdu4460 Friend Chains

Friend Chains Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1724 Accepted Submission(s): 611 Problem Description For a group of people,

习惯与规则决定命运 1188

hdu 4460 Friend Chains(bfs)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4460题意:给出n个点m条边的关系网,求一个最小的k使得任意两个人之间的距离不大于k。其中,2≤n≤10002 \le n \le 1000。想法:此题出在了我们的组队赛里,比赛时刚看觉得只是单纯地Floyd最短路,后来发现n的范围有点大,想法就被否了。后来发现我们并不需要那么多次操作,事实上

你是我天边最美的云彩~~ 556
上一篇: hdu 4444 Walk
下一篇: poj 3204 Ikki's Story I - Road Reconstruction
libing923
博客等级 码龄15年 12粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值