本文介绍: 最后还有一个小技巧,及我们如果合并了边,在最后输出时还有点儿麻烦,所以=我们可以加几个数组,让程序在求欧拉回路时如果碰到了指定序列(合并后)中的边,就只能遍历完序列的边,这样输出也方便。那么在我们就来考虑怎么将边合成了,如果直接按照每条序列合并的话,会发现可能存在几条序列刚好有公共部分从而卡掉我们的程序。所以我们先给每条边编上一个编号,在维护指向这条边的上一条边和这条边指向的下一条边,及前驱和后继。而维护起来也是很容易的,用 map 存边的编号,开个数组记录后继,再用循环不断合并边。
题意
原题链接
求一条以
1
1
1 为起点的欧拉回路,使得给定路口序列在路线及求出的欧拉回路序列中出现。
分析
那么在我们就来考虑怎么将边合成了,如果直接按照每条序列合并的话,会发现可能存在几条序列刚好有公共部分从而卡掉我们的程序。
Code
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。