CF1482C.Basic Diplomacy

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Aleksey 有 nn 个朋友。他现在正在度假,所以他有 mm 天可以玩这款新流行的合作游戏!但由于这是合作游戏,Aleksey 每天都需要一位队友。

在每一天中,只有部分朋友有空可以一起玩,其他人则没有空。每天 Aleksey 必须从当天有空的朋友中选择一位来邀请一起玩(他们当然都会同意)。然而,如果某位朋友被选中的次数严格超过 $ \left\lceil\dfrac{m}{2}\right\rceil $ 次,其他所有朋友都会感到不满。Aleksey 当然不想让任何人不高兴。

请帮助他选择每天的队友,使得没有任何一位朋友被选中的次数严格超过 $ \left\lceil\dfrac{m}{2}\right\rceil $ 次。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例个数 tt(1≤t≤10 0001 \le t \le 10\,000)。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤100 0001\leq n, m\leq 100\,000),分别表示朋友的数量和可以玩的天数。

接下来的 mm 行中,第 ii 行包含一个整数 kik_i(1≤ki≤n1\leq k_i\leq n),后跟 kik_i 个不同的整数 fi1,…,fikif_{i1}, \ldots, f_{ik_i}(1≤fij≤n1\leq f_{ij}\leq n),表示第 ii 天有空的朋友编号。

保证所有测试用例中 nn 和 mm 的总和不超过 100 000100\,000。保证所有测试用例中所有天的 kik_i 之和不超过 200 000200\,000。

输出格式

对于每个测试用例,若无法满足条件,输出一行 “NO”。

否则,第一行输出 “YES”,第二行输出 mm 个用空格分隔的整数 c1,…,cmc_1, \ldots, c_m,其中 cic_i 表示第 ii 天选择的朋友编号(必须是当天有空的朋友之一)。

同一个编号出现的次数不得超过 $ \left\lceil\dfrac{m}{2}\right\rceil $ 次。如果有多种方案,输出任意一种均可。

输入输出样例

  • 输入#1

    2
    4 6
    1 1
    2 1 2
    3 1 2 3
    4 1 2 3 4
    2 2 3
    1 3
    2 2
    1 1
    1 1

    输出#1

    YES
    1 2 1 1 2 3 
    NO

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页