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

城市交通网络构建

【题目描述】

某城市规划局正在整理辖区内的道路数据。该城市共有 n 个路口(编号为 0 到 n-1)以及 m 条连接这些路口的道路。

目前的道路系统比较复杂,包含两种类型:

  1. 单行道:只能从一个路口通行到另一个路口。

  2. 双行道:两个路口之间可以双向互通。

请你根据给定的道路信息,建立一个 n * n 的通达性矩阵,用来直观地展示各路口之间的直接连通情况。

【输入格式】

第一行包含两个正整数 n 和 m (1<=n, m <=100),分别代表路口的数量和道路的数量。

接下来的 m 行,每行包含三个整数 type, u, v (0 <=type<= 1, 0<=u, v < n),描述一条道路的信息:

  • 当 type=0 时:表示这是一条单行道,仅允许从路口 u 通行到路口 v。

  • 当 type=1 时:表示这是一条双行道,路口 u 和路口 v 之间可以互相通行。

【输出格式】

输出一个 n * n 的矩阵。

矩阵的第 i 行第 j 列的数值表示路口 i 到路口 j 的连通状态:

  • 如果值为1,表示存在一条直接道路可以从 i 到达 j;

  • 如果值为0,表示没有直接道路相连。

【输入样例】

4 4 0 0 1 1 0 2 0 3 1 1 2 3

【输出样例】

0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0
1. 核心概念

邻接矩阵是图论中最基础的存图方式。其本质是一个二维数组g[i][j]

  • 行与列:代表图中的

  • 数值:代表点与点之间的关系(如连通性或权值)。

    • g[i][j] = 1:表示点i到点j有边。

    • g[i][j] = 0:表示点i到点j无边。

2. 代码实现要点

在处理混合图(同时包含有向边和无向边)时,只需在输入阶段做一个简单的if判断:

  • 有向边u -> v

    • 操作:仅需标记g[u][v] = 1

    • 含义:只能从u去往v,反之不一定。

  • 无向边u <-> v

    • 操作:双向标记,即g[u][v] = 1g[v][u] = 1

    • 含义:既能从uv,也能从vu,等价于两条方向相反的有向边。

3. 复杂度分析
  • 空间复杂度:O(N^2)。

    • 这是邻接矩阵最大的短板。如果 N=10000,这就需要开int g[10000][10000],内存会直接爆炸(约为 400MB),通常题目给的 N <= 1000 时才考虑使用。

  • 查询时间:O(1)。

    • 这是它的最大优势。想要知道点i和点j是否相连,直接查数组g[i][j]即可,速度极快。

4. 易错点提示
  • 索引对应:题目中点的编号通常是从 0 开始(0 到 n-1)还是从 1 开始(1 到 n)。本题是 0 到 n-1,所以循环输出时是i=0; i<n。如果是 1 到 n,则需要i=1; i<=n

  • 初始化:全局变量数组会自动初始化为 0,如果在main函数内部定义数组,记得手动memset清零,否则可能会有随机垃圾值。


#include <iostream> using namespace std; int n,m; int g[101][101]; int main() { cin>>n>>m;//n个点 m条边 for(int i=1;i<=m;i++){ int type,u,v; cin>>type>>u>>v; if(type==0)//有向边 g[u][v]=1; else{//无向边当双向边处理 g[u][v]=1; g[v][u]=1; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ cout<<g[i][j]<<" "; } cout<<endl; } return 0; }
http://www.gsyq.cn/news/147957.html

相关文章:

  • 【Open-AutoGLM性能飞跃秘籍】:3个关键配置提升推理速度200%
  • iOS 上架费用解析,哪些成本可以通过流程优化降低。
  • 为什么顶尖工程师都在研究Open-AutoGLM点外卖?(99%人不知道的AI潜力)
  • 西班牙CESGA选定IQM和Telefónica部署先进量子计算基础设施
  • 【AI时代自动化新纪元】:Open-AutoGLM如何重塑企业智能流程?
  • 揭秘2025年十大口碑花灯生产商,照亮每一场庆典,十二生肖花灯/庙会花灯/大型花灯/互动花灯/天幕花灯/春节花灯/华景花灯厂商排行 - 品牌推荐师
  • 云原生测试实战:在K8s上构建弹性测试环境的全指南
  • 2026山东金属建材优质厂家推荐榜聚焦木纹转印工艺 - 资讯焦点
  • AI写论文从入门到精通!5款AI论文写作工具全方位指南,轻松搞定初稿 - 资讯焦点
  • 【企业级文档处理突破】:Open-AutoGLM如何实现秒级响应与高可用
  • CnOpenData A股上市公司董监高持股变动表
  • 2025意大利名义雇主EOR深度解析:Safeguard Global的本地化雇佣优势 - 品牌2025
  • SqlSugar使用
  • Keil报错‘Browse information not available‘的解决方案
  • Open-AutoGLM一键部署实战(本地运行效率提升80%的秘密)
  • Open-AutoGLM权限配置生死线,root=高危?立即掌握安全上线的3个核心步骤
  • 端口转发实现方案 - X
  • AbMole丨Mdivi-1:靶向Drp1的线粒体分裂抑制剂及其应用
  • 2026 软考高项第 7 期思维导图:项目立项管理全逻辑,备考速存
  • 揭秘Open-AutoGLM文档处理引擎:如何实现90%效率提升
  • 学长亲荐10个AI论文工具,本科生搞定毕业论文+格式规范!
  • Istio服务网格实战:流量治理与灰度发布
  • 工业AI孪生平台选型与落地指南
  • 国产高低温老化试验箱哪家性价比高?哪家强?哪家售后好?哪个企业能定制?哪家口碑好?头部企业/实力厂商/品牌推荐/推荐厂家/行业标杆企业/推荐制造商:鹏锐 - 品牌推荐大师1
  • Python+Vue的图书推荐系统设计与实现 Pycharm django flask
  • Open-AutoGLM支持文档深度解读(专家级配置指南)
  • MBA必看!10个降AIGC工具推荐,高效避坑指南
  • 为什么顶尖团队都在抢用智普Open-AutoGLM国内镜像?真相令人震惊
  • 必藏副业干货!SRC 漏洞挖掘思路手法深度讲解(超详尽),零基础直达精通,一篇就够用
  • 2025年企业稳健文化建设咨询公司推荐:诚信靠谱的企业文化服务机构有哪些? - 工业推荐榜