AT_abc427_c.[ABC427C] Bipartize

普及-

通过率:0%

AC君温馨提醒

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

题目描述

有一个包含 NN 个顶点和 MM 条边的无向简单图。该图包含顶点 1,2,…,N1, 2, \ldots, N,第 ii 条边 (1≤i≤M)(1\le i\le M) 连接顶点 uiu_i 和 viv_i。

你可以进行如下操作任意次(也可以不进行操作):

  • 选择一条尚未被删除的边,并将其删除。

你的目标是通过上述操作使图变为二分图。请你求出最少需要进行多少次操作,才能使经过操作后的图变为二分图。

什么是简单图?简单图指的是没有自环(即不存在 ui=viu_i = v_i 的边)且没有重边(不存在 ui=uju_i = u_j 且 vi=vjv_i = v_j 的两条边)。

什么是二分图?如果能够给该图的每一个顶点染黑或染白,使得任意一条边连接的两个顶点颜色不同,则该图为二分图。

输入格式

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

NN MM
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uMu_M vMv_M

输出格式

输出使图变为二分图所需的最小操作次数。

输入输出样例

  • 输入#1

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

    输出#1

    2
  • 输入#2

    2 1
    1 2

    输出#2

    0
  • 输入#3

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

    输出#3

    5

说明/提示

样例解释 1

你可以通过删除两条边使图变为二分图:例如,删除连接顶点 11 和 33 的边,以及连接顶点 33 和 55 的边。

无法通过一次或零次操作使图变为二分图,因此输出 2。

样例解释 2

该图一开始就是二分图。因此,需要进行的操作次数为 00。

数据范围

  • 2≤N≤102\le N\le10
  • 1≤M≤N(N−1)21\le M\le\dfrac{N(N-1)}2
  • 1≤ui<vi≤N (1≤i≤M)1\le u_i < v_i \le N\ (1\le i\le M)
  • 给定的图是简单图。
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

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

首页