CF242D.Dispute
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Valera 有 n 个计数器,编号从 1 到 n。其中一些计数器之间通过导线相连,并且每个计数器上都有一个特殊按钮。
最开始,所有计数器上的数值都是 0。当你按下某个计数器的按钮时,该计数器上的值会增加 1,并且所有与它通过导线直接相连的计数器上的值也会各自增加 1。
Valera 和 Ignat 发生了争执,争执的内容如下。Ignat 想到了一个长度为 n 的整数序列 a1,a2,…,an。Valera 需要选择一些不重复的计数器,并且每个选中的计数器的按钮只能按一次(其它计数器的按钮不按)。如果此后存在某个编号为 i 的计数器,其数值恰好为 ai,那么 Valera 输掉争执;否则,Valera 获胜。
请你帮助 Valera 确定需要按哪些计数器的按钮,才能赢得争执。
输入格式
第一行包含两个用空格分隔的整数 n 和 m,分别表示 Valera 有的计数器数量和通过导线相连的计数器对的数量,满足 1≤n,m≤105。
接下来的 m 行,每行包含两个用空格分隔的整数 ui 和 vi,表示编号 ui 和 vi 的计数器之间有一根导线连接,满足 1≤ui,vi≤n,ui=vi。保证每一对连接的计数器在输入中只出现一次。
最后一行包含 n 个用空格分隔的整数 a1,a2,…,an,其中 0≤ai≤105,ai 是 Ignat 为第 i 个计数器选择的值。
输出格式
如果 Valera 无法赢得争执,第一行输出 −1。
否则,第一行输出一个整数 k(0≤k≤n),表示应当按下按钮的计数器数量。第二行输出 k 个不重复的计数器编号,顺序任意,表示 Valera 应该按下按钮的计数器编号。
如果存在多种解法,你可以输出其中任意一种。
输入输出样例
输入#1
5 5 2 3 4 1 1 5 5 3 2 1 1 1 2 0 2
输出#1
2 1 2
输入#2
4 2 1 2 3 4 0 0 0 0
输出#2
3 1 3 4
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?