• Codevs2776 寻找代表元


    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        
  • 相关阅读:
    精准医疗
    生物信息学的研究过程
    蛋白质结构预测
    CP
    基因组大小控制因素
    RNA组研究困难
    输入input文本框的 U+202D和U+202C是什么
    ruby-get-url-query-params
    golang send post request
    nginx location配置
  • 原文地址:https://www.cnblogs.com/HansBug/p/4234893.html
Copyright © 2020-2023  润新知