276 条题解

  • 0
    @ 2008-10-22 14:46:40

    很水的floodfill 但是MN打错,调了半个小时。。。

  • 0
    @ 2008-10-21 22:26:03

    program as;

    var

    n,m,i,j,z,k:integer;

    a:array[1..100,1..100]of char;

    procedure ds(i,j:integer);

    begin

    a:='-';

    if a='#'

    then ds(i+1,j);

    if a='#'

    then ds(i+2,j);

    if a='#'

    then ds(i-1,j);

    if a='#'

    then ds(i-2,j);

    if a='#'

    then ds(i,j+1);

    if a='#'

    then ds(i,j+2);

    if a='#'

    then ds(i,j-1);

    if a='#'

    then ds(i,j-2);

    if a='#'

    then ds(i+1,j+1);

    if a='#'

    then ds(i-1,j-1);

    if a='#'

    then ds(i+1,j-1);

    if a='#'

    then ds(i-1,j+1);

    end;

    begin

    readln(n,m);

    for i:=1 to n do

    for j:=1 to m do

    begin

    read(a[i]);

    if j=m

    then

    readln;

    end;

    k:=0;

    for i:=1 to n do

    for j:=1 to m do

    begin

    if a='#'

    then

    begin

    k:=k+1;

    ds(i,j);

    end;

    end;

    writeln(k);

    end.

    怎么只有50分``

  • 0
    @ 2008-10-21 21:12:43

    编译通过...

    ├ 测试数据 01:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 03:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 04:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 07:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 08:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 10:答案错误... ├ 标准行输出

     ├ 错误行输出

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

    Unaccepted 有效得分:0 有效耗时:0ms

    把‘-’当成发光点的结局

    浪费三次提交机会了

    囧!

    终于。。。。。。

    编译通过...

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2008-10-20 16:27:46

    超级猥琐的搜索...将近50行的程序,不过终于过了

    庆祝此题让我通过100题!!!

  • 0
    @ 2008-10-20 09:51:43

    伟大的FLOODFILL

  • 0
    @ 2008-10-19 13:43:58

    编译通过...

    ├ 测试数据 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-15 19:01:57

    BFS

    忘记把头指针+1了,导致超时,吸取教训

    诶.

  • 0
    @ 2008-10-05 17:58:48

    #include

    static char a[105][105];

    int n,m;

    int askk(int x,int y);

    int clear(int x,int y);

    main()

    {

    int i,j;

    int save=0;

    scanf("%d%d",&n,&m);

    for(i=0;i

  • 0
    @ 2008-10-02 17:28:48

    囧。。。。。

  • 0
    @ 2008-09-29 21:52:40

    没什么好说的

    简单的搜索

    囧!!!!!

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var i,j,k,l,m,n:longint;

    a:array[-5..105,-5..105] of longint;

    sel:array[-5..105,-5..105] of boolean;

    ch:char;

    procedure sc(x,y:longint);

    var g,t:longint;

    begin

    sel[x,y]:=true;

    if not sel[x,y-2] then if a[x,y-2]=1 then sc(x,y-2);

    if not sel[x,y-1] then if a[x,y-1]=1 then sc(x,y-1);

    if not sel[x,y+1] then if a[x,y+1]=1 then sc(x,y+1);

    if not sel[x,y+2] then if a[x,y+2]=1 then sc(x,y+2);

    if not sel[x-2,y] then if a[x-2,y]=1 then sc(x-2,y);

    if not sel[x-1,y] then if a[x-1,y]=1 then sc(x-1,y);

    if not sel[x+1,y] then if a[x+1,y]=1 then sc(x+1,y);

    if not sel[x+2,y] then if a[x+2,y]=1 then sc(x+2,y);

    if not sel[x-1,y-1] then if a[x-1,y-1]=1 then sc(x-1,y-1);

    if not sel[x-1,y+1] then if a[x-1,y+1]=1 then sc(x-1,y+1);

    if not sel[x+1,y-1] then if a[x+1,y-1]=1 then sc(x+1,y-1);

    if not sel[x+1,y+1] then if a[x+1,y+1]=1 then sc(x+1,y+1);

    end;

    begin

    readln(n,m);

    for i:=1 to n do

    begin

    for j:=1 to m do

    begin

    read(ch);

    if ch='#' then a:=1;

    end;

    readln;

    end;

    for i:=1 to n do

    for j:=1 to m do

    if (a=1) and (not sel) then

    begin

    inc(k);

    sc(i,j);

    end;

    writeln(k);

    end.

  • 0
    @ 2008-09-18 13:21:13

    可以用并查集实现~

  • 0
    @ 2008-09-17 08:06:04

    FLOODFILL

    DFS实现!

    没什么难度。。

    很简单,只是那8个方向增量烦人··

  • 0
    @ 2008-09-15 21:09:23

    这个题用搜索不就行吗?

  • 0
    @ 2008-09-14 17:06:54

    我用搜索···

  • 0
    @ 2008-09-14 10:47:38

    procedure dfs(u,v:longint);

    var tu,tv,r:longint;

    begin

    top:=1; stack[top].x:=u; stack[top].y:=v; stack[top].op:=1;

    while top>0 do begin

    if stack[top].op=1 then b[stack[top].x,stack[top].y]:=true;

    tu:=stack[top].x+uu[stack[top].op]; tv:=stack[top].y+vv[stack[top].op];

    inc(stack[top].op); if stack[top].op>12 then dec(top);

    if (tu>=1) and (tu=1) and (tv

  • 0
    @ 2008-09-13 12:01:36

    尴尬,一开始没发现用char的话,回车也被读进来了,要加个READLN

  • 0
    @ 2008-09-11 12:49:57

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    最暴力的DFS都能0MS。。。。

  • 0
    @ 2008-09-09 22:46:53

    又出现了一次AC的说。。。。100的数据。。。直接递归处理就行了。。。

    给个重点过程。。。

    procedure pop(c,d:byte);

    begin

    if (c >= 1) and (c = 1) and (d

  • 0
    @ 2008-09-05 21:39:03

    dfs就好了

  • 0
    @ 2008-08-29 22:23:59

    最底下那位,地球人都知道的方法是什么方法?说清楚点...

信息

ID
1051
难度
4
分类
搜索 | 搜索与剪枝 点击显示
标签
递交数
6211
已通过
2439
通过率
39%
被复制
14
上传者