当前位置: 首页 > wzjs >正文

深圳坪山网站建设北京网站seo技术厂家

深圳坪山网站建设,北京网站seo技术厂家,国外有哪些做deal的网站,郑州网站制作公司汉狮题目:B4292 [蓝桥杯青少年组省赛 2022] 路线 题目描述 有一个旅游景区,景区中有 N N N 个景点,景点以数字 1 1 1 到 N N N 编号,其中编号为 N N N 的景点为游客服务中心所在地。景区中有 M M M 条连接路线,每条…

题目:B4292 [蓝桥杯青少年组省赛 2022] 路线

题目描述

有一个旅游景区,景区中有 N N N 个景点,景点以数字 1 1 1 N N N 编号,其中编号为 N N N 的景点为游客服务中心所在地。景区中有 M M M 条连接路线,每条路线连接两个景点。

已知:

  1. 一个景点可以被多条路线连接;
  2. 景点之间的连接路线都可以双向行走;

当给出 N N N 个景点和 M M M 条连接路线,及 M M M 条路线的连接关系,请你计算出从编号 1 1 1 到编号 N − 1 N-1 N1 的每一个景点,到达游客服务中心至少需要经过几条路线。如果某个景点不能到达游客服务中心则输出 − 1 -1 1

例如:

  • N = 5 N=5 N=5 M = 4 M=4 M=4
  • 4 条路线的连接关系为: 1 ↔ 2 1\leftrightarrow2 12 1 ↔ 3 1\leftrightarrow3 13 2 ↔ 4 2\leftrightarrow4 24 2 ↔ 5 2\leftrightarrow5 25
  • 则:
    • 景点 1 1 1 到达景点 5 5 5(游客服务中心)至少经过 2 2 2 条路线(路线 2 2 2,路线 4 4 4
    • 景点 2 2 2 到达景点 5 5 5 至少经过 1 1 1 条路线(路线 4 4 4
    • 景点 3 3 3 到达景点 5 5 5 至少经过 3 3 3 条路线(路线 1 1 1,路线 2 2 2,路线 4 4 4
    • 景点 4 4 4 到达景点 5 5 5 至少经过 2 2 2 条路线(路线 3 3 3,路线 4 4 4

输入格式

第一行输入两个正整数 N N N M M M 4 ≤ N ≤ 100 4 \leq N \leq 100 4N100 1 ≤ M ≤ 100 1 \leq M \leq 100 1M100), N N N 表示景点个数, M M M 表示路线条数,两个正整数之间一个空格隔开。

接下来输入 M M M 行,每行包括两个正整数 S S S E E E 1 ≤ S ≤ N 1 \leq S \leq N 1SN 1 ≤ E ≤ N 1 \leq E \leq N 1EN S ≠ E S \neq E S=E),两个正整数之间一个空格隔开,表示编号 S S S 和编号 E E E 的两个景点有一条路线连接。

输出格式

一行输出多个整数。按照 1 1 1 N − 1 N-1 N1 的编号顺序,分别输出每个景点到达编号 N N N(游客服务中心),经过几条路线可以到达,如果某个景点不能到达则输出 − 1 -1 1,整数之间一个空格隔开。

输入输出样例 #1

输入 #1

5 4
1 2
1 3
2 4
2 5

输出 #1

2 1 3 2

代码

#include<iostream>
#include<cstring>using namespace std;const int MaxN = 100 + 10, MaxM = 100 + 10;
int N, M, h[MaxN], e[MaxM * 2], ne[MaxM * 2], idx, q[MaxN], hh, tt = -1, d[MaxN];void init(){memset(h, -1, sizeof h);
}void add(int a, int b){e[idx] = b;ne[idx] = h[a];h[a] = idx ++;
}void init_queue(){hh = 0, tt = -1;
}void insert(int x){q[++ tt] = x;
}void dele(){hh ++;
}bool isempty(){return hh > tt;
}void bfs(){memset(d, -1, sizeof d);insert(N);d[N] = 0;while(!isempty()){int t = q[hh];dele();for(int i = h[t]; i != -1; i = ne[i]){int j = e[i];if(d[j] == -1){insert(j);d[j] = d[t] + 1;}}}
}
int main(){cin >> N >> M;init();while(M --){int a, b;cin >> a >> b;add(a, b), add(b, a);}bfs();for(int i = 1; i < N; i ++){cout << d[i] << " ";}return 0;
}

结果

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/115167.html

相关文章:

  • 苏州高端网站制作公司谷歌seo什么意思
  • 精美wordpress模板下载南宁seo推广
  • 简述网站内容管理流程上百度首页
  • 昆明企业建网站多少钱sem是什么的英文缩写
  • 英国做暧小视频网站关键词查询的分析网站
  • 国外购物网站ebay网站模板下载免费
  • 网站推广邮箱怎么做如何开发一个软件平台
  • 个人备案能做什么网站seo公司网站
  • 柴油发电机组网站建设价格外链百科
  • 最专业网站建设哪家好有哪些免费网站可以发布广告
  • 域名做非法网站快速排名优化推广手机
  • 成都网站建设企业seo人人网
  • 厦门seo网站运营推广的方式和渠道
  • b2b网站开发技术文档重庆疫情最新情况
  • 做编程网站有哪些内容免费推广工具有哪些
  • 北京知名网站建设公司企业建站免费模板
  • 个人可以自己做网站吗长沙做搜索引擎的公司
  • 怎么做阿里巴巴国际网站深圳seo
  • python做网站好用吗北京seo代理计费
  • 丛台专业做网站运用搜索引擎营销的案例
  • 泊头市网站建设公司百度电脑版网页版入口
  • 网站显示手机中病毒要按要求做岳阳seo
  • 网站推广排名外包网络营销案例成功案例
  • 微信小程序制作开发平台智能网站推广优化
  • 营销网站建设汉狮电话怎么提高关键词搜索排名
  • 网站建设书网页设计需要学什么软件
  • 互联网网站商标郑州网站建设制作
  • 宝山区网站建设手机端怎么刷排名
  • 达尔罕茂明安网站建设微信营销策略
  • wordpress与微信连接数据库网站优化的关键词