题库/Y1164

#Y1164. 星空穿越

    传统题 难度: 普及+ 标签>一本通欧拉道路存在条件Hierholzer欧拉路构造
时间限制2000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1164 · 星空穿越

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制2000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

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。

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

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。

题目信息

#1879
—

暂无提交记录

练习难度 普及+
时间限制
2000ms
内存限制
512MiB
上传者