Codevs2776 寻找代表元
时间:2022-05-07
本文章向大家介绍Codevs2776 寻找代表元,主要内容包括2776 寻找代表元、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
2776 寻找代表元
时间限制: 1 s
空间限制: 256000 KB
题目等级 : 黄金 Gold
题目描述 Description
广州二中苏元实验学校一共有n个社团,分别用1到n编号。 广州二中苏元实验学校一共有m个人,分别用1到m编号。每个人可以参加一个或多个社团,也可以不参加任何社团。 每个社团都需要选一个代表。谦哥希望更多的人能够成为代表。
输入描述 Input Description
第一行输入两个数n和m。 以下n行每行若干个数,这些数都是不超过m的正整数。其中第i行的数表示社团i的全部成员。每行用一个0结束。
输出描述 Output Description
输出最多的能够成为代表的人数。
样例输入 Sample Input
4 4 1 2 0 1 2 0 1 2 0 1 2 3 4 0
样例输出 Sample Output
3
数据范围及提示 Data Size & Hint
各个测试点1s
数据范围 n,m<=200
分类标签 Tags 点此展开
题解:裸二分图匹配不解释
1 type
2 point=^node;
3 node=record
4 g:longint;
5 next:point;
6 end;
7 var
8 i,j,k,l,m,n:longint;
9 c,f:array[0..1000] of longint;
10 a:array[0..1000] of point;
11 procedure add(x,y:longint);inline;
12 var p:point;
13 begin
14 new(p);
15 p^.g:=y;
16 p^.next:=a[x];
17 a[x]:=p;
18 end;
19 function check(x:longint):boolean;inline;
20 var p:point;
21 begin
22 p:=a[x];
23 while p<>nil do
24 begin
25 if f[p^.g]<>i then
26 begin
27 f[p^.g]:=i;
28 if c[p^.g]=0 then
29 begin
30 c[p^.g]:=x;
31 exit(true);
32 end
33 else if check(c[p^.g]) then
34 begin
35 c[p^.g]:=x;
36 exit(true);
37 end;
38 end;
39 p:=p^.next;
40 end;
41 exit(false);
42 end;
43
44 {$IFDEF WINDOWS}{$R wiki2776.rc}{$ENDIF}
45
46 begin
47 readln(n,m);
48 for i:=1 to n do
49 begin
50 a[i]:=nil;
51 while not(eoln) do
52 begin
53 read(j);
54 if j=0 then break;
55 add(i,j);
56 end;
57 readln;
58 end;
59 fillchar(c,sizeof(c),0);
60 fillchar(f,sizeof(f),0);l:=0;
61 for i:=1 to n do
62 if check(i) then inc(l);
63 writeln(l);
64 readln;
65 end.
66
- ASM无法启动的问题分析(一)(r7笔记第87天)
- 54. 心跳的实现 | 厚土Go学习笔记
- 53. Socket服务三次握手的示例 | 厚土Go学习笔记
- 使用Beego+Swagger构建更好的API服务
- ASM无法启动的问题分析(二)(r7笔记第88天)
- 43. 等价二叉树 | 厚土Go学习笔记
- 51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
- 50. RESTful API的简单实现 | 厚土Go学习笔记
- go实现西瓜视频花椒直播等平台智能答题
- 主备切换的准备工作(二) (r7笔记第85天)
- 49. 访问PostgreSQL数据库增删改查 | 厚土Go学习笔记
- Golang中Interface类型详解
- Go语言的网络编程简介
- 一条关于swap争用的报警邮件分析(二)(r8笔记第4天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android-Jetpack笔记-ViewModelSavedState
- Android-Jetpack笔记-ViewModel
- GitLab CE 安装记录
- SparkSQL中产生笛卡尔积的几种典型场景以及处理策略
- TypeScript 中的 export 和 import
- Angular2 初体验
- 在 Ubuntu 系统上配置 Nginx Git 服务器
- 设计模式之规格模式
- Android-Jetpack笔记-Navigation之Fragment使用
- Android-Jetpack笔记-Navigation之Fragment支持复用
- Android-Jetpack笔记-Room
- 代理模式看这一篇就够了~
- Spark MLlib中KMeans聚类算法的解析和应用
- 通过 PHP 代码发送 HTTP 响应与文件下载
- 玩转 PhpStorm 系列(八):Vim 篇