/ Vijos / 讨论 / 魔塔 /

牛来看一下

编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

这题我用的深搜加剪枝。请问这种情况可能是啥毛病?

3 条评论

  • @ 2009-07-27 09:57:50

    我又提交了几次,可还是没通过:

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    谁告诉我为什么呀?

  • @ 2009-07-26 09:15:08

    谢谢,可我输出没换行啊

    这是我的源程序:

    Program Tower;

    Var

    a, b, c, f, w1, w2, v: Array[0..70000]Of LongInt;

    i, n, m, start, Pop, Q: LongInt;

    Procedure Qsort(L, r: LongInt);

    Var

    i, j, middle, t: LongInt;

    Begin

    i := L; j := r; middle := c[(i + j) Div 2];

    Repeat

    While c[i] < middle Do Inc(i);

    While c[j] > middle Do Dec(j);

    If i j;

    If i < r Then Qsort(i, r);

    If j > L Then Qsort(L, j);

    End;

    Procedure Main(s: LongInt);

    Var

    i, j: LongInt;

    Begin

    f := 1;

    Inc(Pop); v[Pop] := s;

    For j := 1 To Pop Do

    For i := w1[v[j]] To w2[v[j]] Do

    Begin

    If (a[i] = s)And(f[b[i]] = 0) Then Main(b[i])

    Else If (b[i] = s)And(f[a[i]] = 0) Then Main(a[i]);

    End;

    End;

    Begin

    FillChar(a, SizeOf(a), 0);

    FillChar(b, SizeOf(b), 0);

    FillChar(c, SizeOf(c), 0);

    FillChar(f, SizeOf(f), 0);

    FillChar(v, SizeOf(v), 0);

    FillChar(w1, SizeOf(w1), 0);

    FillChar(w2, SizeOf(w2), 0);

    Pop := 0; Q := 0;

    ReadLn(n, start, m);

    For i := 1 To m Do ReadLn(a[i], b[i], c[i]);

    Qsort(1, m);

    For i := 1 To m Do

    If c[i] > c Then

    Begin

    Pop := c[i]; w1[Pop] := i;

    w2[Q] := i-1;

    Q := Pop;

    End;

    Pop := 0;

    Main(Start);

    For i := 1 To m Do

    If f[c[i]] = 1 Then

    Begin

    If f[a[i]] = 0 Then

    If f[b[i]] = 1 Then f[a[i]] := 1;

    If f[b[i]] = 0 Then

    If f[a[i]] = 1 Then f[b[i]] := 1;

    End;

    For i := 1 To n Do

    If f[i] = 1 Then Write(i, ':', 'Yes')

    Else Write(i, ':', 'No');

    WriteLn;

    End.

    大牛能救救我吗?

  • @ 2009-07-25 15:02:16

    输出别换行

    输出别换行

  • 1

信息

ID
1321
难度
8
分类
搜索 | 图结构 点击显示
标签
(无)
递交数
1004
已通过
132
通过率
13%
被复制
4
上传者