题解

170 条题解

  • 0
    @ 2009-07-30 19:58:51

    555555555555

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    交了8次

    就是朴素的搜嘛!!!!!!!!!!!!!

    不可以再犯低级错误了

  • 0
    @ 2009-07-28 08:38:46

    var

    a:array[1..4] of longint;

    dd:array[1..4] of boolean;

    ch:char;

    i:longint;

    procedure input;

    var s,st:string;

    l,i:longint;

    begin

    readln(s);

    s:=s+' ';

    for i:=1 to 4 do

    begin

    l:=pos(' ',s);

    st:=copy(s,1,l-1);

    delete(s,1,l);

    if l=3 then begin a[i]:=10; continue; end;

    case st[1] of

    '2'..'9':a[i]:=ord(st[1])-48;

    'J':a[i]:=11;

    'Q':a[i]:=12;

    'K':a[i]:=13;

    'A':a[i]:=1;

    end;

    end;

    end;

    procedure dfs(t:longint;x:real);

    var i:longint;

    begin

    if (t=5) then

    begin

    if abs(x-24)

  • 0
    @ 2009-07-27 14:49:34

    飓风音速好可爱……

  • 0
    @ 2009-07-26 10:37:23

    浪费我好多正确率

  • 0
    @ 2009-07-18 14:43:18

    水题

    以前的难度观念和现在太不一样了

  • 0
    @ 2009-07-18 11:14:16

    这都过,没天理了~!~

    var

    a:array[1..4] of longint;

    dd:array[1..4] of boolean;

    ch:char;

    i:longint;

    procedure input;

    var s,st:string;

    l,i:longint;

    begin

    readln(s);

    s:=s+' ';

    for i:=1 to 4 do

    begin

    l:=pos(' ',s);

    st:=copy(s,1,l-1);

    delete(s,1,l);

    if l=3 then begin a[i]:=10; continue; end;

    case st[1] of

    '2'..'9':a[i]:=ord(st[1])-48;

    'J':a[i]:=11;

    'Q':a[i]:=12;

    'K':a[i]:=13;

    'A':a[i]:=1;

    end;

    end;

    end;

    procedure dfs(t:longint;x:real);

    var i:longint;

    begin

    if (t=5) then

    begin

    if abs(x-24)

  • 0
    @ 2009-07-17 14:21:54

    这题考点在于RP。

    如果没RP,这题难度就是3,否则就是1!

    注意精度:0.00001,还有‘A’代表1!

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

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    给个地放程序……

    本人出错指南:(给C/C++的人带来福音)

    提交5次

    第一次运行时错误,i,j居然打反了,还能过一个点,浪费0.7小时

    第二次 我也不知道怎么错了

    第三次 精度好像不够

    第四次 输入没处理10的情况

    第五次 AC……

    望本人的教训(下降1个百分点)不要在发生了

    痛苦ing……

    我的标程:

    #include

    #include

    #include

    using namespace std;

    float number[10];

    int search(int n)

    {

    int i,j;

    float a,b;

    if(n==1)

    {

    if(number[0]==24)

    return 1;

    else

    return 0;

    }

    for(i=0;i>c;

    number[i]=10;

    }

    else {

    number[i]=c-'0';}

    }

    if(search(4))

    cout

  • 0
    @ 2009-06-15 15:51:35

    编译通过...

    ├ 测试数据 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
    @ 2009-06-05 17:02:14

    F!大家要注意精度问题,每次计算我用的是0.0001约等于零才能过

    四次提交的惨痛经历阿!!

  • 0
    @ 2009-06-03 20:38:04

    套数据:

    第1个点:1

    第2个点:1

    第3个点:0

    第4个点:1

    第5个点:1

    第6个点:0

    第7个点:0

    第8个点:1

    第9个点:0

    第10个点:0

    希望大家珍惜!!

    但不要cheat..

  • 0
    @ 2009-05-29 17:17:42

    没看见A代表1而WA了2次 \(_\)

    program twenty_four_points_game;

    const v=0.00000001;

    var i,k,ok:integer;

    s,st:string;

    a:array[1..4,1..4] of extended;

    procedure dfs(k:integer);

    var i,j,h,t:integer;

    begin

    if k=1 then

    begin

    if abs(a[1,1]-24)v then

    begin

    a[k-1,1]:=a[k,i]/a[k,j];

    dfs(k-1);

    end;

    end;

    end;

    begin

    readln(s);

    s:=s+' ';

    for i:=1 to 4 do

    begin

    st:=copy(s,1,pos(' ',s)-1);

    if st='A' then a[4,i]:=1 else

    if st='J' then a[4,i]:=11 else

    if st='Q' then a[4,i]:=12 else

    if st='K' then a[4,i]:=13 else

    begin

    val(st,k,ok);

    a[4,i]:=k;

    end;

    delete(s,1,pos(' ',s));

    end;

    dfs(4);

    writeln(0);

    end.

  • 0
    @ 2009-04-29 22:31:02

    注意 a-b b-a,a/b b/a,是不同的

  • 0
    @ 2009-04-28 16:54:14

    begin

    randomize;

    writeln(random(2));

    end.

    我就这么A的!!!

    RP~ ~问题

  • 0
    @ 2009-04-18 11:54:47

    const

    c=0.000001;

    type

    arr=array[0..4] of real;

    var

    a:arr;

    procedure init;

    var

    i,p:longint;

    m:char;

    begin

    for i:=1 to 4 do

    begin

    read(m);

    if m='A' then begin a[i]:=1;read(m); end;

    if m='Q' then begin a[i]:=12;read(m); end;

    if m='J' then begin a[i]:=11;read(m); end;

    if m='K' then begin a[i]:=13;read(m); end;

    if m in ['1'..'9'] then

    begin

    val(m,a[i]);

    read(m);

    while m in['0'..'9'] do

    begin

    val(m,p);

    a[i]:=10*a[i]+p;

    read(m);

    end;

    end;

    end;

    end;

    function match(x,y:real):boolean;

    begin

    if abs(x-y)r then

    begin

    done(a);

    exit;

    end;

    for i:=f to r do

    begin

    a[0]:=a[f];

    a[f]:=a[i];

    a[i]:=a[0];

    create(f+1,r,a);

    end;

    end;

    begin

    init;

    create(1,4,a);

    write(0);

    end.

  • 0
    @ 2009-04-13 15:30:53

    看先操作中间两个数在两边还是先两边再中间

    我 生成4个的排列...囧

    发现24点的中途是可以出现分数的,只是这题数据太弱了。。。

    并且...除数不能为0...

  • 0
    @ 2009-03-18 16:12:49

    强搜?硬搜!直搜..

  • 0
    @ 2009-02-22 09:54:04

    program bfsss;

    type nnn=1..4;

    var b,c:array[1..5] of single; flag,f2:set of 1..4;

    d:array[1..5] of integer;

    a:array[1..5] of single;

    procedure init;

    var s:string;p,i,le,t,code:integer;ch:string[2];

    begin

    readln(s); t:=0;

    le:=length(S);

    repeat

    i:=le;

    while (i>0)and(s[i]' ') do dec(i);

    inc(t);ch:= copy(s,i+1,le-i);

    val(ch,d[t],code);

    if code0 then case ch[1] of

    'A':d[t]:=1;

    'J':d[t]:=11;

    'Q':d[t]:=12;

    'K':d[t]:=13;

    end;

    le:=i-1;

    until ib then

    b:=a/b

    else b:=b/a;

    end;

    else b:=10000;

    end;

    end;

    procedure check2;

    begin

    if b[4]=24 then begin writeln('1');halt;end;

    end;

    procedure check(i:integer);

    var j:integer;

    begin

    if i=4 then begin check2;b[4]:=c[4];exit;end;

    for j:=1 to 4 do

    {if not(j in f2) then} begin

    f2:=f2+[j];cal(j,b[i],b);

    if b10000 then

    check(i+1);

    f2:=f2-[j];

    end;

    b[i]:=c[i];

    end;

    procedure dfs(i:integer);

    var j:integer;

    begin

    for j:=1 to 4 do

    if not(j in flag) then begin

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

    if i=4 then begin c:=b;check(1);end

    else dfs(i+1);

    flag:=flag-[j];b[i]:=0;

    end;

    end;

    begin

    init;

    dfs(1);

    writeln('0');

    end.

  • 0
    @ 2009-02-09 23:23:25

    #include

    using namespace std;

    double a[5];

    bool h[5];

    double opt(double x1,double x2,int d)

    {

    if (d==1) return x1+x2;

    if (d==2) return x1-x2;

    if (d==3) return x2-x1;

    if (d==4) return x1*x2;

    if (d==5) return x1/x2;

    if (d==6) return x2/x1;

    }

    bool search(int x)

    {

    if (x==1&&a[1]==24) return true;

    for (int i=1;ic;a[i]=10;}

    else a[i]=c-'0';

    }

    if (search(4)) cout

  • 0
    @ 2009-02-05 11:20:06

    编译通过...

    ├ 测试数据 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,n,m,jingdua:longint;

    b:array[0..5]of boolean;

    v:array[0..1000]of boolean;

    f:array[0..5]of extended;

    w,a:array[0..5]of longint;

    ss:extended;

    s,c:string;

    procedure li(x:longint);

    var

    i,j,k:longint;

    begin

    if x>3

    then if (ss24-0.0000000001) then begin

    write(1); halt end

    else exit;

    for i:=1 to 6 do

    begin

    if i=1

    then begin ss:=ss+f[x+1]; li(x+1); ss:=ss-f[x+1]; end;

    if i=2

    then begin ss:=ss-f[x+1]; li(x+1); ss:=ss+f[x+1]; end;

    if i=3

    then begin ss:=f[x+1]*ss; li(x+1); ss:=ss/f[x+1]; end;

    if (i=4)and(ss0)

    then begin ss:=f[x+1]/ss; li(x+1); ss:=f[x+1]/ss; end;

    if (i=5)

    then begin ss:=ss/f[x+1]; li(x+1); ss:=ss*f[x+1]; end;

    if (i=6)

    then begin ss:=f[x+1]-ss; li(x+1); ss:=f[x+1]-ss; end;

    end;

    end;

    procedure pi(dd:longint);

    var

    i:longint;

    begin

    if dd>4

    then begin

    fillchar(v,sizeof(v),true);

    ss:=f[1];

    li(1);

    end;

    for i:=1 to 4 do

    if b[i]

    then begin

    b[i]:=false;

    f[dd]:=a[i];

    pi(dd+1);

    b[i]:=true;

    end;

    end;

    begin

    readln(s);

    k:=0;

    for i:=1 to length(s) do

    if s[i]=' '

    then begin inc(k); w[k]:=i end;

    w[0]:=0;

    w[k+1]:=length(s)+1;

    for i:=1 to k+1 do

    begin

    c:=copy(s,w+1,w[i]-w-1);

    if c='J'

    then a[i]:=11

    else if c='Q'

    then a[i]:=12

    else if c='K'

    then a[i]:=13

    else if c='A'

    then a[i]:=1

    else val(c,a[i]);

    end;

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

    pi(1);

    write(0);

    end.

    该死的精度问题.....

    注意啊

信息

ID
1134
难度
8
分类
搜索 点击显示
标签
(无)
递交数
9082
已通过
852
通过率
9%
被复制
7
上传者