179 条题解

  • 0
    @ 2008-12-08 13:28:05

    program p1023;

    var

    a:array[1..200,1..200] of boolean;

    b:array[1..200] of boolean;

    ans,n,k,i:integer;

    procedure doit(k:integer);

    var

    i:integer;

    begin

    for i:=1 to n do

    if a[k,i] then if not(b[i]) then begin b[i]:=true;doit(i);end;

    end;

    begin

    readln(n);

    ans:=0;

    fillchar(a,sizeof(a),0);

    fillchar(b,sizeof(b),0);

    for i:=1 to n do

    begin

    k:=20000;

    while not(k=0) do

    begin

    read(k);

    if not(k=0) then a:=true;

    end;

    readln;

    end;

    for i:=1 to n do

    begin

    if not(b[i]) then

    begin

    inc(ans);

    doit(i)

    end;

    end;

    writeln(ans);

    end.

  • 0
    @ 2008-12-07 16:20:13

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    program p1023;

    const maxn=200;

    var

    n,i,x,ans:integer;

    b:array[1..maxn] of boolean;

    t:array[1..maxn,1..maxn] of boolean;

    procedure dfs(i:integer);

    var j:integer;

    begin

    b[i]:=true;

    for j:=1 to n do

    if (not b[j]) and (t)

    then dfs(j);

    end;

    begin

    readln(n);

    fillchar(b,sizeof(b),false);

    fillchar(t,sizeof(t),false);

    for i:=1 to n do

    begin

    read(x);

    while x0 do

    begin

    t:=true;

    read(x);

    end;

    end;

    ans:=0;

    for i:=1 to n do

    begin

    if b[i]=false

    then inc(ans);

    dfs(i);

    end;

    writeln(ans);

    end.

  • 0
    @ 2008-11-24 16:29:44

    水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题

  • 0
    @ 2008-11-11 19:34:49

    在这儿忏悔一下,我盯着1023看了半天愣是没看出区别来,就交了1022的程序,结果无辜的AC了~~

    感激fjxmlhx大牛提供的数据,很能说明问题!!

  • 0
    @ 2008-11-06 17:21:28

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    偶们是拓扑排序,带队列的

    60行 囧 啊

  • 0
    @ 2008-11-05 20:54:14

    糊里糊涂的并查集就过了

  • 0
    @ 2008-11-02 10:56:32

    if (g=1)or(g[j,i]=1)then

    f[i]:=fac(j);

    floyd=0ms

    并查集=WA

    floyd+并查集=0ms.................

    1022的并查集把

    if (g=1)and(g[j,i]=1)then

    f[i]:=fac(j);

    改成

    if (g=1)or(g[j,i]=1)then

    f[i]:=fac(j);

    就能过................

  • 0
    @ 2008-10-29 13:45:57

    数据真的有点弱,

    我打漏一行代码都能过

    没打这行代码之前程序过不了fjxmlhx给的这组数据

    6

    1 0

    2 0

    3 5 0

    6 0

    4 0

  • 0
    @ 2008-10-27 10:09:42

    太水了!!!!

    用1022的程序照过

  • 0
    @ 2008-10-26 16:05:57

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    集合很好用!

  • 0
    @ 2008-10-20 21:54:30

    p1022 和 p1023一摸一样。。。。

  • 0
    @ 2008-10-20 19:17:23

    var

    a:array[1..200,0..200]of longint;

    b:array[1..200]of boolean;

    bb:array[1..200,1..200]of boolean;

    m,n,o,p,q,r,s:longint;

    procedure zhao(i:longint);

    var

    j:longint;

    begin

    b[i]:=false;

    for j:=1to m do

    if bb and b[j]

    then zhao(j);

    end;

    begin

    readln(m);

    fillchar(a,sizeof(a),0);

    for n:=1to m do

    begin

    read(o);

    while o0 do

    begin

    inc(a[o,0]);

    bb[n,o]:=true;

    read(o);

    end;

    end;

    p:=0;

    fillchar(b,sizeof(b),true);

    for n:=1to m do

    if(a[n,0]=0)and(b[n])

    then begin

    inc(p);

    zhao(n);

    end;

    for n:=1to m do

    if b[n]

    then begin

    zhao(n);

    inc(p);

    end;

    write(p);

    end.

  • 0
    @ 2008-10-16 21:13:22

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-11-11 08:31:17

    我之前就说过这题应该用最小点基做,怎么还有那么些oier交p1022的程序呢?实在义愤。

    p1022和p1023是不一样的啊。

    你们巧合ac的,不要上来传播错误思想啊。

  • 0
    @ 2008-10-12 20:37:38

    无语

    BT的垃圾数据

    1022的并查及可一过这个

    但是我边了个这个题的并查及只有30分。。。

  • 0
    @ 2008-10-11 20:36:29

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    恩,Pascal的集合类型还真好用。。。

    尽管效率低,不过对于n

  • 0
    @ 2008-10-06 21:07:20

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-10-05 13:29:12

    偶佩服一下曹文,详见NOI专刊2008年第1期《集合》一文。

    真的就是用集合的啦!想不到吧??秒杀哦。

    大家用PASCAL的集合类型试一下吧。

    Program p1023;

    Var

    a: array[1..220] of set of 1..200;

    i, j: Longint;

    n, m: Longint;

    Begin

    Readln(n);

    For i:= 1 to n do

    a[i]:= [i];

    For i:= 1 to n do

    Begin

    While True do

    Begin

    Read(j);

    If j=0 then Break;

    a[i]:= a[i]+[j];

    End;

    End;

    //================================

    For i:= 1 to n do

    For j:= i+1 to n do

    Begin

    If j In a[i] then a[i]:= a[i] + a[j];

    If i In a[j] then a[j]:= a[j] + a[i];

    End;

    For i:= 1 to n do

    For j:= 1 to n do

    If i j then

    If a[j]

  • 0
    @ 2008-09-17 15:28:27

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-09-11 18:02:33

    只要是dfs,咋搜咋过

    顺便说一下,1022的代码与1023的dfs代码一模一样

    真水

信息

ID
1023
难度
4
分类
图结构 | 强连通分量 点击显示
标签
递交数
4321
已通过
1972
通过率
46%
被复制
13
上传者