zoukankan      html  css  js  c++  java
  • ZJOI2007矩阵游戏

    我们应该通过思考得到这样一个性质:如果一个点被选了,那么与它同行同列的点都不能选

    然后就是裸的二分图匹配了……

    (我应该能想出这道题来的,可是看了看题觉得没思路就去看题解了,唉……以后这种水题自己一定要动脑想想!)

    代码:这种水题应该1A吧

     1 var i,j,n,t:longint;
     2     flag:boolean;
     3     p:array[0..250] of longint;
     4     v:array[0..250] of boolean;
     5     a:array[0..250,0..250] of longint;
     6 function find(x:longint):boolean;
     7  var i:longint;
     8  begin
     9   for i:=1 to n do
    10    if (not(v[i])) and (a[x,i]=1) then
    11      begin
    12        v[i]:=true;
    13        if (p[i]=0) or (find(p[i])) then
    14          begin
    15            p[i]:=x;
    16            exit(true);
    17          end;
    18      end;
    19   exit(false);
    20  end;
    21 procedure init;
    22  begin
    23    readln(n);
    24    fillchar(p,sizeof(p),0);
    25    for i:=1 to n do
    26     begin
    27       for j:=1 to n do read(a[i,j]);
    28       readln;
    29     end;
    30  end;
    31 procedure main;
    32  begin
    33    flag:=true;
    34    for i:=1 to n do
    35     begin
    36       fillchar(v,sizeof(v),false);
    37       if not(find(i)) then begin flag:=false;break;end;
    38     end;
    39    if flag then writeln('Yes') else writeln('No');
    40  end;
    41 
    42 begin
    43   readln(t);
    44   while t>0 do
    45    begin
    46      dec(t);
    47      init;
    48      main;
    49    end;
    50 end.    
    View Code
  • 相关阅读:
    成长篇之代码灵异事件
    idea快捷键
    java环境配置常用链接
    MySQL分区
    English 动词篇
    仿stl+函数模板
    java 数组复制
    拓扑排序(Topological Sorting)
    2017蓝桥杯第十题(k倍区间)
    翻译NYOJ
  • 原文地址:https://www.cnblogs.com/zyfzyf/p/3799516.html
Copyright © 2011-2022 走看看