运动会  sports.pas/c/cpp         时间限制:1S            100

   

问题描述

 

  某届运动会共有n个项目,编号为12..n1<=n<=100)。项目无先后顺序关系,共有k个人参赛,(1<=k<=10000),每人可以参加任意 多个项目 ,同时约定:

(1)       每人每天仅能参加一个项目比赛。

(2)       任何项目仅比赛一场,如100跑,跑道数>=参加人数,即跑一次, 可决出名次。

问 题

要求 给出一种安排,用最少时间(天数)完成比赛,并保证所有人都能完成参赛项目。

 

例1         n =4 k=4

参赛情况  1   参加  12项目

          2   参加  13项目

          3   参加     2项目

          4   参加     4项目

安排  第一天   14 项目(不唯一)

      第二天   23 项目

2天,完成比赛

 

例2         n =4 k=2

参赛情况  1   参加  12

          2   参加  34

安排  第一天   13 (不唯一)

      第二天   24

 

输入文件

      第一行2个整数n k(数字间一个空格)以下共有k行,每行表示每人的参赛项目,项目号用一个整数表示,两数之间用一个空格隔开,每行均以0结束

 

输出文件 】 

一个整数,即天数

 

样  例  

sports.in

4  2                    

    1  2  0

    3  4  0

 

sports.out

2

posted on 2009-03-11 14:00 250 阅读(265) 评论(2)  编辑 收藏 引用

FeedBack:
# re: 运动会
2009-03-18 19:14 | 刘城
好吧,我说下我对随便看看后对这道题的想法,正确性只能说应该是对的:
建一个n个点的图,对于每一个人,将其所选项目的任意两个点都连一条边,表示这两个放在一起会冲突。这样在图中找出所有的团。包含点数最大的那个团应该就决定了最少需要的天数.

欢迎交流 ccpp132@gmail.com  回复  更多评论
  
# re: 楼上
2009-03-22 12:33 | 咳咳咳
这个题我在吴文虎的一本旧书里看过,书名大概是关于图论的忘了……
这个题是图的顶点染色问题吧(忘了)。程序又臭又长

不过求最大连通分量好像 那年能过8组。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

留言簿(6)

随笔分类

随笔档案

文章档案

相册

搜索

  •  

最新评论