AT_abc345_f.[ABC345F] Many Lamps

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一个 NN 个顶点 MM 条边的简单图,顶点编号为 11 到 NN,边编号为 11 到 MM。第 ii 条边连接顶点 uiu_i 和顶点 viv_i。

每个顶点上都有一个灯,初始时所有灯都是关闭的。

你可以进行如下操作 00 次或至多 MM 次:

  • 选择一条边。设该边的两个端点为 uu 和 vv。将 uu 和 vv 上的灯的状态反转(如果灯是亮的就关掉,如果是关的就打开)。

请判断是否可以通过上述操作,使得恰好有 KK 个灯是亮着的。

如果可以,请输出一种可行的操作方案。

输入格式

输入通过标准输入给出,格式如下:

NN MM KK
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uMu_M vMv_M

输出格式

如果无法使恰好 KK 个灯亮着,输出 No。

如果可以,先输出 Yes,然后输出操作方案,格式如下:

XX e1e_1 e2e_2 …\dots eXe_X

其中,XX 表示操作次数,eie_i 表示第 ii 次操作选择的边的编号。要求满足:

  • 0≤X≤M0 \leq X \leq M
  • 1≤ei≤M1 \leq e_i \leq M

如果存在多种满足条件的操作方案,输出任意一种均可。

输入输出样例

  • 输入#1

    5 5 4
    1 2
    1 3
    2 4
    3 5
    1 5

    输出#1

    Yes
    3
    3 4 5
  • 输入#2

    5 5 5
    1 2
    1 3
    2 4
    3 5
    1 5

    输出#2

    No
  • 输入#3

    10 10 6
    2 5
    2 6
    3 5
    3 8
    4 6
    4 8
    5 9
    6 7
    6 10
    7 9

    输出#3

    Yes
    3
    10 9 6

说明/提示

限制条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 0≤M≤min⁡(2×105,N(N−1)2)0 \leq M \leq \min\left(2 \times 10^5, \frac{N(N-1)}{2}\right)
  • 0≤K≤N0 \leq K \leq N
  • 1≤ui<vi≤N1 \leq u_i < v_i \leq N
  • 输入保证图是简单图
  • 所有输入值均为整数

样例解释 1

按照输出样例的操作顺序,状态如下:

  • 选择第 33 条边。点 22 和点 44 上的灯被点亮。
  • 选择第 44 条边。点 33 和点 55 上的灯被点亮。
  • 选择第 55 条边。点 11 上的灯被点亮,点 55 上的灯被关闭。

所有操作结束后,点 1,2,3,41,2,3,4 上的灯是亮的,因此该操作方案满足条件。

其他满足条件的方案还包括 X=4, (e1,e2,e3,e4)=(3,4,3,1)X=4,\ (e_1,e_2,e_3,e_4)=(3,4,3,1) 等(同一条边可以选择多次)。

由 ChatGPT 4.1 翻译

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

首页