@Backer 2021-11-13 11:55 采纳率: 20%
浏览 115
已结题

星空穿越——欧拉回路

【题目描述】
A国所在的星系共有n个星球,星球间有m条双向通道。A国星球间的传送不仅耗时而且代价高昂。为了防止偷渡者的出现,A国有一种特殊的手段可以检查每条通道是被通过了奇数次还是偶数次。

由于调兵,这m条通道中的一些通道已经被经过了奇数次。现在你的任务是:安排尽量少的人,每个人在星球间沿一条路径传送(不一定是简单路径),使得每条通道都被经过偶数次。

【输入】
输入包含多组数据,其中输入的第一行是数据组数T。

第一行2个正整数n,m,表示城市数和剩余的通道数目。

接下来m行每行3个正整数a,b,c,表示有一条城市a和b之间的双向通道。当c=1时说明经过了奇数次,0表示经过了偶数次。

保证a≠b,且不存在i,j,满足max(ai,bi)=max(aj,bj)且min(ai,bi)=min(aj,bj)。

【输出】
第一行一个整数K,表示你安排的人数。

接下来K行,每行的第一个数为一个正整数l,表示第i个人走过的路径中的节点数。接下来l个数表示第i个人走过的路径是v1,v2,…,vl。

若对于一个测试点中的每组数据,你的程序第一行的答案都是正确的,且每组数据的输出都是满足格式要求的,那么设这个子任务的总分为x,你可以得到0.35x的分数。注意为了得到这一部分的分数你没有必要输出正确的解,而是只要输出任意K条合法的路径即可。但你必须要保证对于一个测试点来说你输出的路径的l之和不能超过5×106且l>0。

【输入样例】
1
13 14
1 2 1
2 3 1
3 4 1
2 4 1
1 4 0
4 6 1
4 10 0
2 5 1
2 7 0
7 8 1
8 9 1
9 7 1
11 12 1
11 13 1
【输出样例】
3
5 1 2 3 4 6
8 4 2 7 8 9 7 2 5
3 12 11 13
【提示】
【数据规模及约定】

对于100%的数据,保证0≤ci≤1,∑n≤5×105,∑m≤5×105。

测试点编号 测试点分值 n m T 约定
1 17 ≤10 ≤10 =20 无
2 22 ≤300 ≤3000 =15 无
3 24 ≤2×10^5 2×10^5 =10 ci=1
4 37 ≤2×10^5 2×10^5 =10 无

  • 写回答

2条回答 默认 最新

  • greatofdream 2021-11-13 16:54
    关注

    去除所有的偶数次双向通路,剩下的奇数边构成的图看节点的度数,(奇数度的节点的个数/2)是所需的人的个数

    评论

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费