1363_敌友不分

2022-5-16 18:17| 发布者: Hocassian| 查看: 33| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-89503818399900-Problem List-采集的数据-后羿采集器.html

Pro.ID

1363

Title

敌友不分

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1363

AC

0

Submit

66

Ratio

0.00%

时间&空间限制

  • Time Limit: 800/400 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)
  • 描述

    钟Sir不幸被任命为班主任,而且是2个班。总所周知,班里的人,总有些人关系好一点,天天黏在一起,是朋友;有些人关系差一点,比如争夺女朋友,争当班干部,争各种奖项,人品问题等等,存在冲突关系,于是成为敌人。虽说没有永远的朋友,也没有永远的敌人,但钟Sir安排宿舍的时候,就要尽量避免把敌人们安排住同一宿舍(那还不天天打架啊,班主任就永无宁日了),上课的时候就尽量安排他们坐在不同的区域。这样的情况,可以提炼成为下面的模型:

    已知集合A={ a1, a2, …… an },及集合上的关系 R = { ( ai, aj ) | ai, aj ∈ A , i ≠ j },其中( ai , aj ) 表示 ai 与 aj 间存在冲突关系。要求将A划分成互不相交的子集A1 , A2, …… Ak, ( k ≤ n ),使任何子集中的元素均无冲突关系,同时要求划分的子集的个数尽可能少。

    例 A = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }

    R={ (2,8), (9,4), (2,9), (2,1), (2,5), (6,2), (5,9), (5,6), (5,4), (7,5), (7,6), (3,7), (6,3) }

    可行的子集划分为:A1 = { 1, 3, 4, 8 }
     A2 = { 2, 7 }
     A3 = { 5 }
     A4 = { 6, 9 },子集数=4

    另一种方案是:A1 = {1, 3, 5, 8},A2 = {2, 4, 7},A3 = {6, 9},子集数=3 。

    输入

    第一行是2个整数 n ( 0 < n < 1000 ) 和 m ( 0 ≤ m < 9000 ),n表示集合中元素的个数。集合中的元素以1开始的自然数表示。

    下面接着m行,每行两个整数,表示这两个元素之间存在冲突。

    输出

    Description

    钟Sir不幸被任命为班主任,而且是2个班。总所周知,班里的人,总有些人关系好一点,天天黏在一起,是朋友;有些人关系差一点,比如争夺女朋友,争当班干部,争各种奖项,人品问题等等,存在冲突关系,于是成为敌人。虽说没有永远的朋友,也没有永远的敌人,但钟Sir安排宿舍的时候,就要尽量避免把敌人们安排住同一宿舍(那还不天天打架啊,班主任就永无宁日了),上课的时候就尽量安排他们坐在不同的区域。这样的情况,可以提炼成为下面的模型:

    已知集合A={ a1, a2, …… an },及集合上的关系 R = { ( ai, aj ) | ai, aj ∈ A , i ≠ j },其中( ai , aj ) 表示 ai 与 aj 间存在冲突关系。要求将A划分成互不相交的子集A1 , A2, …… Ak, ( k ≤ n ),使任何子集中的元素均无冲突关系,同时要求划分的子集的个数尽可能少。

    例 A = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }

    R={ (2,8), (9,4), (2,9), (2,1), (2,5), (6,2), (5,9), (5,6), (5,4), (7,5), (7,6), (3,7), (6,3) }

    可行的子集划分为:A1 = { 1, 3, 4, 8 }
     A2 = { 2, 7 }
     A3 = { 5 }
     A4 = { 6, 9 },子集数=4

    另一种方案是:A1 = {1, 3, 5, 8},A2 = {2, 4, 7},A3 = {6, 9},子集数=3 。

    Input

    第一行是2个整数 n ( 0 < n < 1000 ) 和 m ( 0 ≤ m < 9000 ),n表示集合中元素的个数。集合中的元素以1开始的自然数表示。

    下面接着m行,每行两个整数,表示这两个元素之间存在冲突。

    Output

    输出最少的子集划分个数。

    Sample Input

    9 13
    2 8
    9 4
    2 9
    2 1
    2 5
    6 2
    5 9
    5 6
    5 4
    7 5
    7 6
    3 7
    6 3

    Sample Output

    3

    Author

    样例输入

    9 13
    2 8
    9 4
    2 9
    2 1
    2 5
    6 2
    5 9
    5 6
    5 4
    7 5
    7 6
    3 7
    6 3

    样例输出

    3

    提示

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部