#P1467. 2024.9.27-秋招-第1题-绩效互评人员分配

2024.9.27-秋招-第1题-绩效互评人员分配

题目内容

公司组织绩效互评,为了避免有同学或者同团队的人互相打高分,需要将员工分成两组分别打分。给定一个整数nn和一个数组GoodRelationShips[][]GoodRelationShips[][],其中,nn表示人数,数组GoodRelationShips[][]GoodRelationShips[][]是一个邻接表,GoodRelationShips[i]GoodRelationShips[i]的元素[a,b,ca,b,c]代表员工ii和员工abca,b,c是同学或者同团队。

请将这nn个人分成两组,使其每组不再有同学或者同团队的人。

GoodRelationShips[][]GoodRelationShips[][]的长度范围为[1,1001,100]。

GoodRelationShips[i]GoodRelationShips[i]中的元素的范围为[1,GoodRelationShips.length11,GoodRelationShips.length-1]。

GoodRelationShips[i]GoodRelationShips[i]不会包含i或者有重复的值。

图是无向的:如果jjGoodRelationShips[1]GoodRelationShips[1]里边,那么ii也会在 GoodRelationShips[j]GoodRelationShips[j]里边。

说明

保证给出的图是联通图

输入描述

数组形式的员工关系邻接表,第一行数字代表有NN个顶点,顶点编号从00开 始,后续接NN行。第ii行代表第i1i-1个顶点和他有关系的同学的顶点编号

输出描述

分组方案按照节点编号从小到大排序,如两个方案第一个节点相同,则按照第二个节点排序,以此类推;方案内部也按照编号从小到大排序。输出排序最靠前的一种方案,如无法分成符合条件的两组,则输出1-1

如输出如下两种方案时,选择第一种方案,因为方案一的分组22第一个节点编号更小:

分组111 1

分组222 3 4 52\ 3\ 4\ 5

分组111 21\ 2

分组223 4 53\ 4\ 5

如输出如下两种方案时,选择第二种方案,因为方案二的分组22第一个节点编号更小:

分组111 21\ 2

分组223 4 53\ 4\ 5

分组111 31\ 3

分组222 4 52\ 4\ 5

样例1

输入

4
1 3
0 2
1 3
0 2

输出

0 2
1 3

说明

无向图如下:

样例2

输入

4
1 2 3
0 2
0 1 3
0 2

输出

-1

说明

无向图如下: