题目 1740

星空穿越

查看题解 ↗GitHub ↗如何评测
题号
1740
时间限制
2000 ms
内存限制
512 MB
标签
图论
来源
信息学奥赛一本通 · 高手训练篇·三、图论(高手训练)

【题目描述】

AA国所在的星系共有nn个星球,星球间有mm条双向通道。AA国星球间的传送不仅耗时而且代价高昂。为了防止偷渡者的出现,AA国有一种特殊的手段可以检查每条通道是被通过了奇数次还是偶数次。 由于调兵,这mm条通道中的一些通道已经被经过了奇数次。现在你的任务是:安排尽量少的人,每个人在星球间沿一条路径传送(不一定是简单路径),使得每条通道都被经过偶数次。

【输入】

输入包含多组数据,其中输入的第一行是数据组数TT。 第一行22个正整数n,mn,m,表示城市数和剩余的通道数目。 接下来mm行每行33个正整数a,b,ca,b,c,表示有一条城市aa和bb之间的双向通道。当c=1c=1时说明经过了奇数次,00表示经过了偶数次。 保证a≠ba≠b,且不存在i,ji,j,满足max(ai,bi)=max(aj,bj)max(a_i,b_i)=max(a_j,b_j)且min(ai,bi)=min(aj,bj)min(a_i,b_i)=min(a_j,b_j)。

【输出】

第一行一个整数KK,表示你安排的人数。 接下来KK行,每行的第一个数为一个正整数ll,表示第ii个人走过的路径中的节点数。接下来ll个数表示第ii个人走过的路径是v1,v2,…,vlv_1,v_2,…,v_l。 若对于一个测试点中的每组数据,你的程序第一行的答案都是正确的,且每组数据的输出都是满足格式要求的,那么设这个子任务的总分为xx,你可以得到0.35x0.35x的分数。注意为了得到这一部分的分数你没有必要输出正确的解,而是只要输出任意K条合法的路径即可。但你必须要保证对于一个测试点来说你输出的路径的ll之和不能超过5×1065×10^6且l>0l>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×1050 ≤ c_i ≤ 1,\sum n ≤ 5 × 10^5,\sum m ≤ 5 × 10^5。

测试点编号 测试点分值 nn mm TT 约定
11 1717 ≤10≤10 ≤10≤10 =20=20 无
22 2222 ≤300≤300 ≤3000≤3000 =15=15 无
33 2424 ≤2×105≤2×10^5 2×1052×10^5 =10=10 ci=1c_i=1
44 3737 ≤2×105≤2×10^5 2×1052×10^5 =10=10 无

数据下载

题目 1740 的公开数据

正在读取文件列表…

常用命令

题目 1740 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。