news 2026/6/30 21:58:35

C++课后习题训练记录Day144

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++课后习题训练记录Day144

1.练习项目 :

问题描述

小明是蓝桥王国的王子,今天是他登基之日。

在即将成为国王之前,老国王给他出了道题,他想要考验小明是否有能力管理国家。

题目的内容如下:

蓝桥王国一共有 N 个建筑和 M 条单向道路,每条道路都连接着两个建筑,每个建筑都有自己编号,分别为 1∼N 。(其中皇宫的编号为 1)

国王想让小明回答从皇宫到每个建筑的最短路径是多少,但紧张的小明此时已经无法思考,请你编写程序帮助小明回答国王的考核。

输入描述

输入第一行包含两个正整数 N,M。

第 2 到 M+1 行每行包含三个正整数 u,v,w,表示 u→v 之间存在一条距离为 w 的路。

1≤N≤3×105,1≤m≤106,1≤ui,vi≤N,0≤wi≤109。

输出描述

输出仅一行,共 N 个数,分别表示从皇宫到编号为 1∼N 建筑的最短距离,两两之间用空格隔开。(如果无法到达则输出 −1)

2.选择课程

在蓝桥云课中选择题库,选择题号1122并开始练习。

3.开始练习

(1)源码 :

#include<bits/stdc++.h>

using namespace std;

using ll = long long;

const ll N = 3e5+10;

const ll inf = 2e18;


struct Node{

ll x,w;

bool operator < (const Node &u)const{

return w==u.w?x<u.x:w>u.w;

}

};

vector<Node>g[N];

ll d[N];

int n,m;

void dijstra(int st)

{

for(int i=1;i<=n;i++)d[i]=inf;

bitset<N>vis;

priority_queue<Node>pq;

pq.push({st,d[st]=0});

while(pq.size()){

int x=pq.top().x;

int w=pq.top().w;

pq.pop();

if(vis[x])continue;

vis[x]=true;

//拓展

for(const auto &[y,dw]:g[x]){

if(d[x]+dw<d[y]){

d[y]=d[x]+dw;

pq.push({y,d[y]});

}

}

}

}

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

cin>>n>>m;

while(m--){

int x,y,w;cin>>x>>y>>w;

g[x].push_back({y,w});

}

dijstra(1);

for(int i=1;i<=n;i++){

cout<<(d[i]>=inf?-1:d[i])<<' ';

}

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:注意每段代码末尾的分号是否存在 ,如不存在则需即使补充;输入法 是否切换 为英语模式;语法是否错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 21:57:52

MySQL课程SQL知识点总结|语句规范、实战案例、易错点与学习复盘

MySQL课程SQL知识点总结&#xff5c;语句规范、实战案例、易错点与学习复盘 一、前言 本学期《MySQL数据库技术》课程系统学习了数据库设计、数据库定义、数据操作、数据查询、视图、索引分区、数据库编程、事务控制、权限管理、数据备份恢复全套核心知识点。课程搭配大量实操作…

作者头像 李华
网站建设 2026/6/30 21:53:02

网盘直链下载助手终极指南:3分钟实现全速下载自由

网盘直链下载助手终极指南&#xff1a;3分钟实现全速下载自由 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…

作者头像 李华
网站建设 2026/6/30 21:52:08

MySQL 临时表性能优化

MySQL临时表性能优化实战指南 在数据库应用中&#xff0c;临时表是处理复杂查询和中间结果的常用工具&#xff0c;但不当使用可能导致性能瓶颈。本文将从实际场景出发&#xff0c;解析如何通过优化临时表提升MySQL执行效率&#xff0c;尤其适合高并发或大数据量场景的开发人员…

作者头像 李华
网站建设 2026/6/30 21:50:04

Manga Translator - 漫画翻译工具

链接&#xff1a;https://pan.quark.cn/s/33afbb2ab7ad一款漫画翻译工具&#xff0c;它可以一键翻译漫画图片中的文字&#xff0c;支持日漫、韩漫、美漫&#xff0c;黑白漫和彩漫均可识别&#xff0c;并提供自动检测、翻译、嵌字、排版渲染等功能。

作者头像 李华
网站建设 2026/6/30 21:48:45

问题解决记录:Mac系统上传目录时的垃圾文件清理

问题背景在上传图片系统中&#xff0c;当用户使用苹果本&#xff08;Mac&#xff09;压缩并上传目录时&#xff0c;系统出现异常。经过排查发现&#xff0c;Mac 系统在压缩时会自动生成大量隐藏文件和元数据目录&#xff0c;这些"垃圾文件"在解压后会干扰系统的正常业…

作者头像 李华
网站建设 2026/6/30 21:46:03

YOLOv8一站式本地部署:图像分类、检测与分割实战指南

这次我们来看一个能同时搞定图像分类、目标检测和图像分割的本地部署方案。如果你正在找一套代码、一个模型库就能覆盖这三种常见视觉任务&#xff0c;并且希望部署过程足够简单、显存要求友好、支持批量处理和接口调用&#xff0c;那么 Ultralytics 的 YOLOv8 值得重点关注。 …

作者头像 李华