149 条题解

  • 0
    @ 2008-10-29 20:58:24

    标准解法:BFS+位运算

    if yao=0 then continue;

    if yao=1 then t:=t and not(1 shl j);

    if yao=-1 then t:=t or (1 shl j);

    编译通过...

    ├ 测试数据 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-29 19:38:17

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

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

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

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

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

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

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

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

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

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

    DP+位运算

    请强人证明一下 dp两次 就包括了所有的情况

  • 0
    @ 2008-10-23 21:53:41

    第四组数据是多少?

  • 0
    @ 2008-10-21 14:25:37

    bfs+位运算 超爽~

    一开始不知道 优先级 是 not and or

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

    真郁闷!

    用随机化只得了70分!

    哪位大牛能将第4,9组数据发一下啊?

  • 0
    @ 2008-10-15 20:44:26

    同志们.不是组合数啊..是指几种药....

    天啊..

    我居然错.

  • 0
    @ 2008-10-13 20:48:46

    编译通过...

    ├ 测试数据 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-13 16:50:59

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    DFS+位运算+记忆化!

  • 0
    @ 2008-10-07 23:07:38

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    最短路径,转成二进制后,再用dijkstra!

  • 0
    @ 2008-10-06 19:06:28

    数据相当的弱...

    大家放心做就是了.

  • 0
    @ 2008-10-05 16:13:44

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    宽搜+位运算

    好久没有一次AC了!

  • 0
    @ 2008-10-04 21:13:42

    编译通过...

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

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

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

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

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

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

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

    ├ 测试数据 08:答案错误...程序输出比正确答案长

    ├ 测试数据 09:答案错误...程序输出比正确答案长

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

  • 0
    @ 2008-09-25 20:36:09

    //题目描述不清楚, 知道用BFS在看题目比较好理解点...

    当前状态用0和1就可表示,最多1^10种情况O(1024*100).

    void Work ()

    {

    int i, j, k, finish, sum ;

    int tmp [11] = {0} ;

    fear = front = 0 ;

    finish = (1

  • 0
    @ 2008-09-24 19:09:52

    编译通过...

    ├ 测试数据 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-24 19:07:45

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    一次AC 爽,BFS+HASH!

  • 0
    @ 2008-09-24 17:06:20

    一开始偷懒,暗想vijos强大的评测机+应该不大的数据范围裸搜能过,于是随手敲了一个上去,70分。。。

    重写了一个二进制转十进制的判重,AC~

  • 0
    @ 2009-10-23 08:37:40

    编译通过...

    ├ 测试数据 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-18 17:26:47

    只过了7个点,不知道哪里错了,谁帮忙看看

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

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

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

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

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

     ├ 错误行输出

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

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

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

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

     ├ 错误行输出

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

     ├ 错误行输出

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

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

    var

    i,j,k:integer;max:longint;

    {b:array[1..100]of longint;}

    a:array[1..102,1..10]of integer;

    t{hash}:array[0..60000]of boolean;

    cs:array[1..100000]of shortint;

    ks:array[1..100000]of longint;

    p{根位置},q{搜索总数}:longint;

    m,n:integer;

    function cifang(v2:integer):longint;

    var i:integer;

    begin cifang:=1;

    for i:=1 to v2 do cifang:=cifang*3;

    end;

    function threetoten(v:integer):longint;

    var

    i,j:longint;

    begin

    threetoten:=0;

    for i:=1 to n do

    if a[v,i]=1 then

    threetoten:=threetoten+cifang(i-1)

    else if a[v,i]=2 then

    threetoten:=threetoten+2*cifang(i-1);

    end;

    procedure tentothree(v1:integer);

    var

    i,b:longint;

    begin

    b:=0;

    while v10 do

    begin

    inc(b);a[101,b]:=v1 mod 3;v1:=v1 div 3;

    end;

    end;

    procedure soso(v1:longint);

    var i,w:integer;

    begin

    tentothree(ks[v1]);

    for i:=1 to m do

    begin

    for j:=1 to n do

    begin

    if a=2 then

    a[102,j]:=2;

    if a=0 then

    a[102,j]:=0;

    if a=1 then

    a[102,j]:=a[101,j];

    end;

    w:=threetoten(102);

    if max=w then

    begin

    writeln(cs[v1]+1);

    halt;

    end;

    if t[w]=true then

    begin

    t[w]:=false;inc(q);ks[q]:=w;cs[q]:=cs[v1]+1;

    end;

    end;

    if v1+1

  • 0
    @ 2008-09-12 10:33:55

    如果你第三,四组错了!

    那么,请你,,在无解时候加上句号!!!

    我要疯了!!

  • 0
    @ 2008-09-12 08:18:05

    普通BFS
    别想太复杂
    和倒酒问题差不多
    `

    提示:判断时候可以用字符串。

    这样会比较简单!

信息

ID
1026
难度
6
分类
搜索 | 搜索与剪枝 点击显示
标签
(无)
递交数
3644
已通过
1106
通过率
30%
被复制
20
上传者