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

P2731 [USACO3.3] 骑马修栅栏 Riding the Fences 题解

题目大意

给定一个无向图,要求找到一条路径,经过每条边恰好一次,并且输出字典序最小的路径。


解题思路

这道题的本质是求欧拉路径欧拉回路

欧拉路径/回路的判定

对于无向图,存在一条经过每条边恰好一次的路径(欧拉路径)的充要条件是:

  1. 图是连通的(忽略孤立点);
  2. 奇度顶点(度数为奇数的点)的个数为 0 或 2。
  • 如果奇度顶点个数为 0,则存在欧拉回路,可以从任意顶点出发并回到该点。
  • 如果奇度顶点个数为 2,则必须从一个奇度顶点出发,在另一个奇度顶点结束。

算法步骤

  1. 建图
    用邻接矩阵存储图,因为题目中节点编号范围不大(最大 500),适合用矩阵存储边的数量。

  2. 统计度数
    记录每个节点的度数,用于判断欧拉路径的起点。

  3. 确定起点

    • 如果存在奇度顶点,则从最小的奇度顶点开始搜索。
    • 否则(所有点度数均为偶数),从最小的节点开始搜索。
  4. DFS 搜索路径
    从起点开始,按照节点编号从小到大的顺序遍历每条边,找到一条边就继续 DFS。每次递归结束后将当前节点加入路径。

  5. 输出路径
    最终得到的路径是逆序的,需要反转后输出。


代码实现

#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int N = 1e5 + 10, mod = 998244353, inf = 0x3f3f3f3f;
ll n, u, v, ans[1500], idx = 0;
ll line[555][555], du[555];
ll mn = 1e9, mx = 0;void dfs(int x) {for (int i = 1; i <= mx; i++) { //从小到大遍历 让ans值尽量小if (line[x][i]) {line[i][x]--;line[x][i]--;dfs(i);}}ans[++idx] = x;
}void solve() {cin >> n;for (int i = 1; i <= n; i++) {cin >> u >> v;line[u][v]++;line[v][u]++;du[u]++;du[v]++;// 记录度数mx = max(mx, max(u, v));mn = min(mn, min(u, v));}ll start = mn; // 初始化为最小编号 如果找不到奇度编号 就从最小的开始搜for (int i = 1; i <= mx; i++) { // 找最小的奇度编号(因为题目要求从小输出)if (du[i] % 2) {start = i;break;}}dfs(start);for (int i = idx; i >= 1; i--) // 倒序输出 因为ans先记录后面的数cout << ans[i] << '\n';
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int _ = 1;cin >> _;while (_--) {solve();}return 0;
}
http://www.jsqmd.com/news/418361/

相关文章:

  • 2026父母免疫力升级优选清单:避坑实用指南——抓住关键成分,省钱更安心 - 品牌企业推荐师(官方)
  • AnythingLLM快速入门手册
  • 2026年2月五金磨刀机定制厂家,多品类刀具适配 - 品牌鉴赏师
  • 4C标准下的价值重构:纪派珠宝如何用科技与情感定义钻石新美学 - 品牌企业推荐师(官方)
  • 夜班与差旅时代的免疫护城河:2026全网深测,哪些补充方案真能让你少中招、快恢复? - 品牌企业推荐师(官方)
  • 北京GEO服务商观察:2026年AI获客的三种典型模式 - 品牌2025
  • 2026年深圳猎头公司前十名推荐及联系方式(十家猎头公司权威测评最新发布) - 品牌企业推荐师(官方)
  • 结婚订婚选什么钻戒好?——基于4C标准的五大高性价比国产品牌深度解析 - 品牌企业推荐师(官方)
  • OpenClaw 实战接管谷歌浏览器
  • 开工开学不倒下:2026家庭免疫稳态权威榜,“流感—过敏—差旅”三线联防全攻略 - 品牌企业推荐师(官方)
  • 北京GEO服务商全景图:2026年AI获客的三大方向 - 品牌2025
  • 用 Docker 和 Compose 部署项目实战
  • 北京GEO服务商布局解析:2026年AI获客的三种实践路径 - 品牌2025
  • 2026年2月工业提升门实力供货商推荐,全流程服务与品质管控 - 品牌鉴赏师
  • 彼得林奇如何看待公司的人才流失率
  • 2026全家免疫升级实测榜:摆脱疲惫与拖尾,加速恢复,精准修复“免疫赤字”的有效解法! - 品牌企业推荐师(官方)
  • 深圳猎头公司哪家强?5家主流猎头公司全面测评(2026年最新版) - 品牌企业推荐师(官方)
  • 北京GEO服务商有哪些?2026年AI获客服务商解析 - 品牌2025
  • AI原生应用领域知识库构建的关键要点与实践指南
  • 2026年免疫力提升优选产品揭秘:向疲惫说不、让恢复提速,精准破解“免疫赤字”的科学答案 - 品牌企业推荐师(官方)
  • 北京GEO服务商有哪些特点?2026年AI获客服务全景解析 - 品牌2025
  • nginx日志统计脚本
  • 深圳猎头公司哪家强?四家本土实力派深度解析与推荐(含联系方式) - 品牌企业推荐师(官方)
  • 程序员修炼之道读后感
  • 降糖产品要怎么选?哪些真有效?2026主流降糖保健产品深度测评与推荐指南 - 品牌企业推荐师(官方)
  • 2026年免疫力提升优选产品:给父母买免疫力产品避坑指南——认准核心成分,少花冤枉钱 - 品牌企业推荐师(官方)
  • 2026年免疫力、抵抗力补充剂谁最靠谱?权威榜单:最新免疫干预产品综合实力横评 - 品牌企业推荐师(官方)
  • 钉钉消息机器人配置
  • ​2026年丙烯酸乳液厂家采购综合评测与厂商推荐 - 品牌企业推荐师(官方)
  • 自优化测试脚本:识别UI变化自动调整定位