zoukankan      html  css  js  c++  java
  • CoVH之柯南开锁

    题意/Description:

           面对OIBH组织的嚣张气焰, 柯南决定深入牛棚, 一探虚实.
           他经过深思熟虑, 决定从OIBH组织大门进入...........

           OIBH组织的大门有一个很神奇的锁.
           锁是由M*N个格子组成, 其中某些格子凸起(灰色的格子). 每一次操作可以把某一行或某一列的格子给按下去.
               
           如果柯南能在组织限定的次数内将所有格子都按下去, 那么他就能够进入总部. 但是OIBH组织不是吃素的, 他们的限定次数恰是最少次数.

           请您帮助柯南计算出开给定的锁所需的最少次数.

    读入/Input

           第一行 两个不超过100的正整数N, M表示矩阵的长和宽

           以下N行 每行M个数 非0即1 1为凸起方格

     

    输出/Output

           一个整数 所需最少次数

     

    题解/solution

           修改读入,水水的匹配。

     

    代码/Code

    var
      n,m,num:longint;
      v:array [0..10001] of boolean;
      link:array [0..10001] of longint;
      a:array [0..501,0..501] of boolean;
    function max(o,p:longint):longint;
    begin
      if o>p then exit(o);
      exit(p);
    end;
    
    function find(i:integer):boolean;
    var
      k,q:integer;
    begin
      find:=true;
      for k:=1 to max(n,m) do
        if a[i,k] and not v[k] then
          begin
            q:=link[k]; link[k]:=i; v[k]:=true;
            if (q=0) or find(q) then exit;
            link[k]:=q;
        end;
      find:=false;
    end;
    
    procedure main;
    var
      i:longint;
    begin
      num:=0;
      fillchar(link,sizeof(link),0);
      for i:=1 to n do
        begin
          fillchar(v,sizeof(v),false);
          if find(i) then inc(num);
        end;
    end;
    
    procedure init;
    var
      i,j:longint;
      c:char;
    begin
      fillchar(a,sizeof(a),0);
      readln(n,m);
      for i:=1 to n do
        begin
          for j:=1 to m do
            begin
              read(c);
              if c='1' then a[i,j]:=true;
            end;
          readln;
        end;
    end;
    
    begin
      init;
      main;
      writeln(num);
    end.
  • 相关阅读:
    PHP入门
    requests中text,content,json之间的区别
    有关pip报错的问题

    pycharm操作
    python selenium 相关操作
    python tkinter菜单
    初识Go
    Python _easygui详细版
    easygui _1
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319676.html
Copyright © 2011-2022 走看看