码蹄集 - MT2322 - 还是跑图
@TOC
还是跑图:还是简单图问题
时间限制:1秒
空间限制:128M
题目描述
给出一张有向图,你需要返回
图中出边最多的节点,如果有多个出边最多的节点,输出编号最小的
输入描述
第一行n,m,表示有n个节点,m条边
第二行开始m行
每行有三个数x y z,表示有一条从x到y的边,长度为z
数据范围
1<=n<=1000,1<=m<=100000
1<=x,y<=n, x≠y
1<=z<=m
可能有重边,每条边长度不同
输出描述
输出1行,为出边最多的节点
接下来若干行,每行输出该节点的边的去向节点和边长,按去向节点编号从小到大输出,如有重边按边长从小到大输出
样例一
输入
1 |
|
输出
1 |
|
题目分析
这道题和2320-跑图差不多
我们仍然可以用vector<pair<int, int>> graph[1010];
来存储图
具体方法可参考:https://blog.letmefly.xyz/2022/09/28/MaTiJi - MT2320 - 跑图/
因此,输入完成后,先统计一遍“最大出度”为多少,并统计出“出度为最大出度”且“编号尽可能小”的节点的编号。
然后输出这个节点的出度,对这个节点出发的所有边,按照“指向编号尽可能小,长度尽可能小”的顺序排序并输出即可。
AC代码
1 |
|
虽然代码可以复制,但最好还是自己理解后再敲哦
原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/127097400
码蹄集 - MT2322 - 还是跑图
https://blog.letmefly.xyz/2022/09/28/MaTiJi - MT2322 - 还是跑图/