题解

166 条题解

  • 0
    @ 2009-01-11 15:07:05

    别老是爆表

    const a:array['0'..'9']of longint=(6,2,5,5,4,5,6,3,7,6);

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

    f:array[1..20]of longint;

    ss:string;

    begin

    readln(n);

    for i:=0 to 1000 do

    for j:=0 to 1000 do begin

    k:=i+j;

    str(i,ss);

    s:=0;

    for m:=1 to length(ss) do s:=s+a[ss[m]];

    str(j,ss);

    for m:=1 to length(ss) do s:=s+a[ss[m]];

    str(k,ss);

    for m:=1 to length(ss) do s:=s+a[ss[m]];

    if s

  • 0
    @ 2009-01-11 11:22:41

    打表成功啊!!!!!

  • 0
    @ 2009-01-10 20:19:11

    124个ac

    感谢vived puppy的大力支持

  • 0
    @ 2009-01-10 10:48:16

    编译通过...

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

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

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

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

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

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

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

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

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

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

    不交表也很快嘛。。。虽然么0ms

  • 0
    @ 2009-01-07 20:51:59

    不交表仍然0ms,其实枚举优化很重要!

  • 0
    @ 2009-01-06 20:57:59

    庆祝!!第一次通过这样的题..第一次耗时80Ms...给大家说一个建议..有可能涉及到百位数...庆祝第9个AC!!

  • 0
    @ 2009-01-05 20:17:00

    编译通过...

  • 0
    @ 2009-01-05 17:38:53

    编译通过...

    ├ 测试数据 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-01-05 11:08:32

    这题交表太水了....

  • 0
    @ 2009-01-04 21:39:51

    “NOIP时候用的枚举,怕打表不保险...”(真不知道当时咋想的)

  • 0
    @ 2009-01-04 19:55:10

    main code

    很落后的方法。。。 0ms

    for i:=0 to 9 do

    a[i]:=num[i];

    for i:=10 to 99 do

    a[i]:=num[i div 10]+num[i mod 10];

    for i:=100 to 999 do

    a[i]:=num[i div 100]+num[(i div 10) mod 10]+num[i mod 10];

    for i:=1000 to 9999 do

    a[i]:=num[i div 1000]+num[(i div 100) mod 10]+num[(i div 10) mod 10]+num[i mod 10];

    readln(n);

    for i:=0 to 1000 do

    for j:=0 to 1000 do

    if a[i]+a[j]+a+4=n

  • 0
    @ 2009-01-04 17:50:30

    一般般了,咱整计算机的,就要充分利用计算机和大脑,能交表当然交表了,交表也是搜索的一种!!

    编译通过...

    ├ 测试数据 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-01-04 17:39:12

    我承认我很菜……考试当时 囧 了。考完了就编了5分钟AC……

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

  • 0
    @ 2009-01-04 17:34:22

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

  • 0
    @ 2009-01-04 15:46:27

    program p1496;

    const a:array[0..9] of longint=(6,2,5,5,4,5,6,3,7,6);

    var i,j,k,n,l,sum,ans:longint;

    s1,s2,s3:string;

    Begin

    readln(n);

    for i:=0 to 799 do

    for j:=0 to 799 do

    begin

    k:=i+j;

    str(i,s1);str(j,s2);str(k,s3);

    sum:=0;

    for l:=1 to length(s1) do

    sum:=sum+a[ord(s1[l])-48];

    for l:=1 to length(s2) do

    sum:=sum+a[ord(s2[l])-48];

    for l:=1 to length(s3) do

    sum:=sum+a[ord(s3[l])-48];

    if sum+4=n then inc(ans);

    end;

    writeln(ans);

    End.

    不知道当时怎么错的4个点,巨痿。

  • 0
    @ 2009-01-04 15:09:12

    It's so easy!咱不交表!

    const

    a:array [0..9] of integer=(6,2,5,5,4,5,6,3,7,6);

    var

    i,j,k,total,x,y,z,n,l:integer;

    begin

    readln(n);

    total:=0;

    if n>=23 then l:=711 else l:=111;

    if n>=13 then

    begin

    for i:=0 to l do

    for j:=0 to l do //dang n=24 shi cai hui chu xian 711

    begin

    k:=i;x:=0;

    if (k=0) then x:=6 else

    while (k>0) do

    begin

    x:=x+a[k mod 10];

    k:=k div 10;

    end;

    k:=j;y:=0;

    if (k=0) then y:=6 else

    while (k>0) do

    begin

    y:=y+a[k mod 10];

    k:=k div 10;

    end;

    if (x+y0) do

    begin

    z:=z+a[k mod 10];

    k:=k div 10;

    end;

    if (x+y+z=n-4) then

    begin

    inc(total);

    end;

    end;

    end;

    end;

    writeln(total);

    end.

  • 0
    @ 2009-01-04 14:53:40

    考试时教的表……

    这次也是……

  • 0
    @ 2009-01-04 13:19:44

    第七个通过~

    那天这题只有40分。。。脑残啊脑残

    如今25行AC。。。一等一去不复返。。。

  • 0
    @ 2009-01-04 21:59:45

    fengyi又搞错From者了。。。

    附:求一个数所需要的火柴数函数

    function zhuan(a:integer):integer;

    Begin

    if a

  • 0
    @ 2009-01-04 12:34:58

    膜拜...小菜当时这道题次了...

信息

ID
1496
难度
3
分类
搜索 点击显示
标签
递交数
6085
已通过
2979
通过率
49%
被复制
17
上传者