首页 > 其他分享 >Shortest Time(最短时间)

Shortest Time(最短时间)

时间:2023-07-02 15:33:42浏览次数:44  
标签:city 短时间 int 城市 样例 40 vis Time Shortest

题目描述

如图所示,有若干个城市,它们之间有道路连通,可以互相到达,从一个城市到另一个城市时间为1。现在给出起点城市A,终点城市B,和N条道路。问从A到B最短时间。
image

Input

第一行A,B,N(A,B,N<=30),B为最大城市标号
接下来N行,每行两个数x,y,表示城市x和城市y有道路相连。

Output

最短到达时间

样例输入

1 7 9
1 2
1 4
2 3
3 5
4 5
4 6
1 6
6 7
5 7

样例输出

2
样例解释

可以通过1——6——7到达城市7,花费最短时间为2.

code:

#include <bits/stdc++.h>
using namespace std;
int a,b,n,d[40],vis[40];
bool city[40][40];
queue<int> q;
void bfs()
{
	q.push(a);
	vis[a]=1;
	d[a]=0;
	while(!q.empty())
	{
		int x=q.front();
		q.pop();
		vis[x]=0;
		for(int i=1;i<=b;i++)
		{
			if(city[x][i]&&!vis[i])
			{
				q.push(i);
				vis[i]=1;
				d[i]=d[x]+1;
				if(i==b)
				{
					cout << d[i];
					exit(0);
				}
			}
		}
	}
}
int main()
{
	cin >> a >> b >> n;
	for(int i=1;i<=n;i++)
	{
		int x,y;
		cin >> x >> y;
		city[x][y]=1;
		city[y][x]=1;
	}
	bfs();
	return 0;
}

标签:city,短时间,int,城市,样例,40,vis,Time,Shortest
From: https://www.cnblogs.com/nasia/p/17520847.html

相关文章

  • 11.8 RuntimeException
    demo1parseInt()方法不处理异常publicclassJavaDemo{ publicstaticvoidmain(Stringargs[]){ intnum=Integer.parseInt("123");//课程中从官网手册,查看parseInt方法,使用RuntimeException,非强制处理异常 System.out.println(num); }}面试题:请解释RuntimeEx......
  • TCP TIME_WAIT 状态 及相关问题优化
    TCP是一种面向连接的可靠的传输协议,它在建立和释放连接时,需要经过一系列的握手和挥手过程。在这个过程中,会涉及到一些不同的状态,其中一个比较常见但又容易被误解的状态就是TIME_WAIT状态。本文将从以下几个方面介绍TIME_WAIT状态的原理和优化方法:TIME_WAIT状态是如何产生......
  • MySQL批量新增或修改时出现异常: Lock wait timeout exceeded; try restarting transact
    标题:解决MySQL批量新增或修改时出现"nestedexceptionisjava.sql.SQLException:Lockwaittimeoutexceeded;tryrestartingtransaction"异常摘要在使用MySQL数据库进行批量新增或修改操作时,有时候会遇到"nestedexceptionisjava.sql.SQLException:Lockwaittimeoutexcee......
  • [问题记录] com.netflix.hystrix.exception.HystrixRuntimeException timed-out and n
    报错描述服务重启后第一次访问调用Feign接口会503,走熔断器的fallback打一次断点后再访问就没有问题,服务重启后第一次访问打断点也是503解决方案Hystrix缺省超时判断为1秒钟,由于网络问题,有些请求超过1秒钟之后才接收到增加响应时间即可hystrix:command:defau......
  • find命令mtime,ctime,atime详解
    1.查找时间说明find./-name“*data*”-mtime+1当前目录下文件名包含data,而且修改时间在48小时以上的find./-name“*date*”-mtime+2当前目录下文件名包含data,而且修改时间在72小时以上的find./name“*data*”-mtime-1当前目录下文件名包含data,而且修改时间在24......
  • LocalDateTime日期格式化和指定日期的时分秒
    LocalDateTime日期格式化和指定日期的时分秒packagecom.example.core.mydemo.date;importjava.time.LocalDate;importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;/***now=2023-06-30*after=2023-07-04*afterTime=2023-07-04T00:00:0......
  • TDengine 发布 IoT 场景下 3.0 性能对比分析报告,全方位超越 InfluxDB & TimescaleDB
    6月26日,涛思数据旗下时序数据库(TimeSeriesDatabase)TDengine正式发布IoT场景下TDengine3.0性能对比分析报告,该报告在IoT场景下从数据写入、压缩和查询等维度,对比了TDengine与市场其他流行的时序数据库产品的性能差异,其中所有测试均在标准化条件下使用公开数据完成。......
  • TDengine 发布 IoT 场景下 3.0 性能对比分析报告,全方位超越 InfluxDB & TimescaleDB
    6月26日,涛思数据旗下时序数据库(TimeSeriesDatabase)TDengine正式发布IoT场景下TDengine3.0性能对比分析报告,该报告在IoT场景下从数据写入、压缩和查询等维度,对比了TDengine与市场其他流行的时序数据库产品的性能差异,其中所有测试均在标准化条件下使用公开数据完成......
  • Nginx 报错 504 Gateway Time-out 和无法上传大于1M文件的解决方法
    Nginx报错504GatewayTime-out的解决方法修改nginx.conf配置文件。keepalive_timeout600;fastcgi_connect_timeout600;fastcgi_send_timeout600;fastcgi_read_timeout600;proxy_connect_timeout600;proxy_send_timeout600;proxy_read_timeou......
  • Windows系统安装timescaledb
    TimescaleDB是基于PostgreSQL数据库打造的一款时序数据库,插件化的形式,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。TimescaleDB具备以下特点1.基于时序优化2.自动分片(按时间、空间自动分片(chunk))3.全SQL接口4.支持垂直于横向扩展5.支......