AT_abc453_f.[ABC453F] Avoid Division
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一棵有 N 个顶点的树,点编号为 1,2,…,N,第 1≤i≤N−1 条边连接点 Ui 和 Vi。
现在要用颜色 1,2,…,K 给每个顶点染色。每个点只能染一种颜色,颜色 i 最多可以用于染色 Ci 个顶点。
判断是否存在满足以下条件的染色方案,如果存在则输出一种合法的染色方案。
- 对于每条边,存在某个 1≤i≤K,使得删除这条边后得到的两个连通块中都至少有一个点被染成颜色 i。
本题多测,在一个测试点中,你需要解决 T 组数据。
输入格式
第一行一个正整数 T 表示数据组数。
对于一组数据:
- 第一行两个正整数 N,K
- 接下来 N−1 行每行两个正整数 Ui,Vi 表示树的一条边。
- 接下来一行 K 个正整数表示 C1,C2,…,Ck。
输出格式
共 T 行。对于每组数据输出一行作为答案。
对于一组数据,如果不存在合法的染色方案,则输出一行一个整数 −1。否则,输出一行 N 个整数 X1,X2,…,XN(1≤Xi≤K),表示将顶点 i 染成颜色 Xi,代表一个合法的方案。
输入输出样例
输入#1
2 5 3 1 2 1 3 2 4 2 5 2 2 2 3 3 1 2 2 3 1 1 1
输出#1
3 2 2 1 1 -1
说明/提示
样例解释
对于第一组数据给出的方案:
如果删除边 (1,2),树被分割成包含点 1,3 的连通块和包含点 2,4,5 的连通块;两个连通块中都包含染了颜色 2 的顶点(点 3 和点 2)。
可以证明,无论切断给定树的哪条边,都存在这样的颜色,因此样例输出的染色方案满足条件。
对于第二组数据,显然不存在满足条件的合法染色方案。
数据范围
- 1≤T≤105
- 2≤N≤3×105,∑N≤3×105
- 1≤K≤N
- 1≤Ui,Vi≤N
- 给定的图是一棵树。
- 1≤Ci≤N
- C1+C2+⋯+CK≥N
- 所有输入值均为整数。
输入解题思路,AI测评打分。不知道怎么写?