【算法练习】数据结构/图论 poj4084:拓扑排序 题目链接http://bailian.openjudge.cn/practice/40844084:拓扑排序总时间限制:1000ms内存限制:65536kB描述给出一个图的结构输出其拓扑排序序列要求在同等条件下编号小的顶点在前。输入若干行整数第一行有2个数分别为顶点数v和弧数a接下来有a行每一行有2个数分别是该条弧所关联的两个顶点编号。v100, a500输出若干个空格隔开的顶点构成的序列(用小写字母)。样例输入6 8 1 2 1 3 1 4 3 2 3 5 4 5 6 4 6 5样例输出v1 v3 v2 v6 v4 v5题目意思就是有向图的拓扑排序维护一个队列保存入度为0的结点题目又要求说编号小的顶点在前于是这个队列可以定义成优先队列也就是最小堆默认的是最大堆priority_queueint,vectorint,greaterint Q;快乐AC,记住思路是很简单的模板题AC://图论 拓扑排序 #include iostream #include queue #include vector using namespace std; priority_queueint,vectorint,greaterint Q; int inDegree[120]; //代表顶点的入度 vectorint G[120]; int main(){ int v,a; //初始化 for(int i0;i120;i){ inDegree[i]0; G[i].clear(); //清空vector中的元素 } cinva; int x,y; for(int i0;ia;i){ cinxy; inDegree[y]; G[x].push_back(y); } for(int i1;iv;i){ if(inDegree[i]0) Q.push(i); } while (!Q.empty()){ int curQ.top(); Q.pop(); coutvcur ; for(int i0;iG[cur].size();i){ int uG[cur][i]; inDegree[u]--; if(inDegree[u]0){ Q.push(u); } } } coutendl; return 0; }

相关新闻

最新新闻

大模型解高考数学题为何会“宕机”?技术原理与工程实践解析

大模型解高考数学题为何会“宕机”?技术原理与工程实践解析

最近在技术社区和社交媒体上,一个话题热度居高不下:“AI做高考题集体宕机”。这个略带调侃的标题背后,反映的是开发者、研究者和普通用户对当前大模型(Large Language Models, LLMs)推理能力极限的浓厚兴趣与审视。我们…

2026/7/28 20:57:26
Unity粒子系统高级应用:用代码生成动态粒子艺术与交互式猫咪

Unity粒子系统高级应用:用代码生成动态粒子艺术与交互式猫咪

1. 项目概述:当代码成为猫薄荷作为一个在游戏开发行业摸爬滚打了十多年的老程序员,我发现自己对两样东西毫无抵抗力:一是优雅的代码,二是毛茸茸的猫咪。可惜,现实是残酷的,繁忙的加班和频繁的出差&#xff…

2026/7/28 20:57:26
AI提示词优化工具:提升大模型交互效果的关键技术

AI提示词优化工具:提升大模型交互效果的关键技术

1. 为什么我们需要AI提示词优化工具?在AI交互领域,提示词(Prompt)的质量直接影响着大语言模型的输出效果。我做过一个对比实验:用"写篇文章"这样的模糊提示,GPT-4生成的文本质量评分只有5.2/10&a…

2026/7/28 20:57:26
物联网硬件安全:SE050与MKV42F64VLH16的加密实践

物联网硬件安全:SE050与MKV42F64VLH16的加密实践

1. 物联网安全现状与硬件级解决方案的必要性在2023年全球物联网设备数量突破430亿台的背景下,安全事件同比增长了67%。传统基于软件加密的方案已难以应对侧信道攻击、物理探测等高级威胁。这正是SE050 Plug&Trust安全芯片与MKV42F64VLH16微控制器组合的价值所在…

2026/7/28 20:57:26
Matlab中五种智能算法在路径规划中的对比实验

Matlab中五种智能算法在路径规划中的对比实验

1. 项目概述在机器人路径规划领域,智能优化算法的应用一直是研究热点。最近我在Matlab环境下系统对比了五种主流智能算法(PSO、MPSO、TACPSO、SOA、GA)在二维栅格地图中的表现,这个对比实验花了我整整两周时间,期间踩了…

2026/7/28 20:57:26
C++ STL replace算法详解:从基础原理到实战应用

C++ STL replace算法详解:从基础原理到实战应用

1. 项目概述:为什么我们需要replace算法?在 C 的日常开发中,处理字符串或容器内元素的替换操作,就像木匠需要一把趁手的凿子一样基础且频繁。你可能写过这样的循环:遍历一个std::vector或std::string,找到所…

2026/7/28 20:52:25

月新闻