题解

72 条题解

  • 0
    @ 2009-08-19 20:38:08

    两个幻影之间或幻影与基德之间若速度差距超过k

    感觉这句有问题。。。。理解的是相邻两个幻影速度差不能超过K。。。结果WAR了点2.。

    不过话说题目描述就是不清楚

  • 0
    @ 2009-08-19 17:54:12

    program ex;

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

    begin

    readln(n,v,k);

    for i:=1 to n-1 do

    begin

    read(m);

    if m-v>k then begin writeln('No'); exit; end;

    end;

    writeln('Yes');

    end.

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

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

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

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

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

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

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

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

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

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

    厄...这种水题...完全错的算法都可以过..我笑了...

  • 0
    @ 2009-08-18 21:54:50

    题目还维护?囧掉了,第一次碰到这种情况

    方法还是多想几种好,毕竟沙茶做法没什么提高

  • 0
    @ 2009-08-18 20:20:47

    看来vijos里真的有很多人会把水题想复杂。

    什么2分图染色,排序,全都用不着。

    看来还是像我这样的沙茶对付沙茶题效果最好。

    只交一次就ac了。

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var n,v,k,i,min,max:longint;

    a:array[0..1500]of longint;

    begin

    min:=maxlongint;

    max:=-maxlongint;

    readln(n,v,k);

    for i:=1 to n-1 do

    begin

    read(a[i]);

    if a[i]>max then

    max:=a[i];

    if a[i]max then

    max:=a[i];

    if vk) and (a[i]-min>k) then

    begin

    writeln('No');

    halt;

    end;

    writeln('Yes');

    end.

  • 0
    @ 2009-08-18 17:24:47

    排序都不用,if max-min>2k then writeln('No') else writeln('Yes');

    我的贪心算法错的很厉害,还是过了9个点点...

  • 0
    @ 2009-08-18 16:47:56









  • 0
    @ 2009-08-18 16:17:17

    第2个点过不去的人,相信不在少数吧?

    要注意,首先是两个门,大家可以采取贪心的算法,能和真身的过的幻影就从一个们过,不能的从另一个门过,如果第2个门有过不去的幻影,则输出NO^^^^^^不知道是我语文不好还是作者语文不好55555555555,交了N次^^^^^

  • 0
    @ 2009-08-18 15:09:25

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    秒杀!!!!!!!!!!!!!!!!!!

  • 0
    @ 2009-08-18 14:35:48

    真无语,我开始没看见2个门,都有90分

  • 0
    @ 2009-08-18 13:34:28

    奇怪啊奇怪~数据太奇怪了........

    非常奇怪的方法都能过~~~~~~~

    我最开始就是用快排+判断相邻做的~~~验证的时候自己随便想了个测试数据

    8 1 2

    2 3 4 5 6 7 8

    ~~~~~~~~~~

    很明显~~~这个过不去~~~但是快排+判断相邻就让他过了~~~

    后来用两个栈存能过去的~~如果遇到必须进第三个栈的~就输出No然后halt

    AC了

  • 0
    @ 2009-08-18 12:54:13

    水水的二分图~

  • 0
    @ 2009-08-18 12:08:46

    大家说的都是啥啊?怎么二分图都上来了??

    不就是从小到大快排一下,然后如果相邻的两个速度差大于k就输出No,否则输出Yes嘛……

    跟一个门、两个门、三个门没关系啊……

    让他们按照速度从小到大排好进一个门就行了呗……

    难道我理解错了吗?

    反正我Ac了……

  • 0
    @ 2009-08-18 10:53:39

    贪心..

    因为有2个门,其中本体要走1个,所以能跟本体走的都走1个门..

    另1个门专门给不能跟本体走的分身来走..

    如过某分身与本体及另一个与本体速度有冲突的分身都有冲突...那么直接输出No然后退掉..

  • 0
    @ 2009-08-18 10:44:56

    原来有2个门啊。。。

  • 0
    @ 2009-08-18 10:36:16

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    第一次只考虑了一个门。。。居然也能过。。。数据太弱了。。。

    排序。。。

  • 0
    @ 2009-08-18 09:53:16

    这个题也可以用判定二分图吧……如果两个数的差大于k则连一条边,最后判断是否是二分图

  • 0
    @ 2009-08-18 09:25:09

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var a:array[0..10000]of longint;

    n,k,i:longint;

    procedure qsort(l,r:longint);

    var i,j,mid,t:longint;

    begin

    i:=l; j:=r; mid:=a[(l+r) div 2];

    repeat

    while a[i]mid do dec(j);

    if ij;

    if l

  • 0
    @ 2009-08-18 10:22:37

    我晕 ... 两个门 同学们注意

    不用排序

    var

    n,v,k,i,j,s:longint;

    a,b:array[1..1500] of longint;

    begin

    readln(n,v,k);

    for i:=1 to n-1 do read(a[i]);readln;a[n]:=v;

    for i:=1 to n-1 do

    if abs(a[i]-a[n])>k then begin

    inc(s);b:=a[i];

    end;

    for i:=1 to s-1 do

    for j:=i+1 to s do if abs(b[i]-b[j])>k then begin

    writeln('No');halt;

    end;

    writeln('Yes');

    end.

  • 0
    @ 2009-08-18 08:37:13

    晕了,为什么我怎么做都是90分,第二个数据过不了,谁帮忙解释下

信息

ID
1609
难度
4
分类
图结构 | 二分图 点击显示
标签
递交数
3152
已通过
1231
通过率
39%
被复制
8
上传者