#1177. 渡渡鸟爱玩图论

内存限制:512 MiB 时间限制:500 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: Komeiji Koishi

题目描述

渡渡鸟最近很喜欢图论。

有一张nn​个点mm​条边的无向联通图,保证没有自环和重边,每条边有边权0/10/1​,你可以对这个图进行两种操作:

1.选择这个图的一个简单环,将这个环的边权反转(简单环指一个不重复经过点的环)

2.选择一个点集AA,如果一条边(x,y)(x,y)满足xA,yAx\in A,y\notin A,就把这条边边权反转,即00变成11,11变成00

你最多可以进行mn+2m-n+2次操作,请将所有边的边权变为00

若没有办法在mn+2m-n+2次操作之内办到,请输出1-1

否则请输出任意一组合法解

输入格式

第一行两个正整数n,mn,m

下面mm行,每行三个正整数x,y,tx,y,t,表示(x,y)(x,y)有一条边权为tt的边

输出格式

若无解,输出1-1

否则

第一行一个正整数kk表示操作次数

接下来kk行每行描述一个操作,首先输出两个正整数type,numtype,numtype=1/2type=1/2表示操作种类,0<numn0<num\le n表示操作涉及点/边的数量

下面输出numnum个正整数,这些正整数小于等于nn

若为操作1(type=1)(type=1),按照环的任意合法顺序输出环上边的编号,合法顺序指:对于任意一个环上的点,从这个点开始,沿任意方向遍历这个环,最后回到这个点,访问的边的对应顺序为一个合法顺序

若为操作2(type=2)(type=2),按照任意顺序输出集合中的点的编号。

注意若你的输出有任何非法状况或者你的操作次数大于mn+2m-n+2次,那么你不会获得分数。

样例

输入样例1

4 4
1 2 1
1 3 1
2 4 0
3 4 0

输出样例1

1
2 1 1

输入样例2

4 4
1 2 1
1 3 0
2 4 0
3 4 0

输出样例2

-1

输入样例3

5 9
1 2 1
1 4 1
1 5 1
2 5 1
4 5 0
3 5 1
2 3 1
3 4 1
2 4 0

输出样例3

3
1 4 1 7 6 3
1 3 4 5 9
2 1 4

数据范围与提示

2n2002\le n\le 200

n1mn(n1)2n-1\le m\le \frac{n(n-1)}{2}

xy,t=0/1x\neq y,t=0/1,保证无重边,无自环,图联通,且至少有一条边边权为11