142 条题解

  • 0
    @ 2009-07-18 14:06:52

    呃..题目啥意思??

  • 0
    @ 2009-07-15 15:03:50

    搜索还不及人脑好使啊。。搜索半天无法AC。。一顿猛算。。交表了。。

  • 0
    @ 2009-07-14 21:13:03

    有搜索AC的吗?

    讲讲思路。

  • 0
    @ 2009-07-12 17:32:02

    var

    map:array[1..6,1..6] of boolean;

    sum:array[1..6,1..6] of longint;

    n,ans:longint;

    vis:array[0..20] of boolean;

    procedure check;

    var i,j,k,p:longint;

    begin

    p:=0;

    for i:=1 to 5 do

    begin

    k:=0;

    for j:=1 to 5 do

    if map then inc(k)

    else break;

    if k=5 then inc(p);

    k:=0;

    for j:=1 to 5 do

    if map[j,i] then inc(k)

    else break;

    if k=5 then inc(p);

    end;

    k:=0;

    for i:=1 to 5 do

    if map then inc(k)

    else break;

    if k=5 then inc(p);

    k:=0;

    for i:=1 to 5 do

    if map then inc(k)

    else break;

    if k=5 then inc(p);

    if not vis[p] then

    begin

    ans:=ans+p;

    vis[p]:=true;

    end;

    end;

    procedure pre;

    var i,j,k:longint;

    begin

    for i:=1 to 5 do

    for j:=1 to 5 do

    sum:=6-j+5*(5-i);

    end;

    procedure search(dep,y,tot:longint);

    begin

    if tot

  • 0
    @ 2009-07-12 15:13:39

    水题……挂表

    {——————————————————————————————————}

    编译通过...

    ├ 测试数据 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-06-26 20:35:31

    water

  • 0
    @ 2009-06-07 22:52:38

    打表:

    var

    n:integer;

    begin

    readln(n);

    case n of

    0..4:writeln(0);

    5..8:writeln(1);

    9..11:writeln(3);

    12..13:writeln(6);

    14..15:writeln(10);

    16:writeln(15);

    17..18:writeln(21);

    19..20:writeln(28);

    21:writeln(35);

    22..23:writeln(30);

    24:writeln(27);

    25:writeln(12);

    end;

    end.

  • 0
    @ 2009-05-29 01:16:38

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    上帝饶恕我打表吧,虽然使用笔算的,用了40分钟

    #include "stdio.h"

    int main()

    {

    int n,ans;

    scanf("%d",&n);

    if(n>=0&&n=5&&n=9&&n

  • 0
    @ 2009-05-19 23:14:13

    搜索后打表=秒杀

  • 0
    @ 2009-05-17 21:48:35

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    搜索万岁!!!

    var i,j,n,s:integer;

    b,c:array[0..25] of boolean;

    e:array[1..18,1..5] of byte=(

    (1,2,3,4,5),

    (1,2,0,4,5),

    (1,2,3,0,5),

    (1,2,0,0,5),

    (1,0,3,0,5),

    (1,0,0,0,5),

    (1,2,3,4,0),

    (1,2,0,4,0),

    (1,2,3,0,0),

    (1,2,0,0,0),

    (1,0,3,0,0),

    (1,0,0,0,0),

    (0,2,3,4,0),

    (0,2,0,4,0),

    (0,2,3,0,0),

    (0,2,0,0,0),

    (0,0,3,0,0),

    (0,0,0,0,0));

    f:array[1..18] of byte=(6,5,5,4,4,3,5,4,4,3,3,2,4,3,3,2,2,1);

    procedure qdf;

    begin

    s:=0;

    if c[1]and c[2]and c[3]and c[4]and c[5] then inc(s);

    if c[6]and c[7]and c[8]and c[9]and c[10] then inc(s);

    if c[11]and c[12]and c[13]and c[14]and c[15]then inc(s);

    if c[16]and c[17]and c[18]and c[19]and c[20]then inc(s);

    if c[21]and c[22]and c[23]and c[24]and c[25]then inc(s);

    if c[1]and c[6]and c[11]and c[16]and c[21]then inc(s);

    if c[2]and c[7]and c[12]and c[17]and c[22]then inc(s);

    if c[3]and c[8]and c[13]and c[18]and c[23]then inc(s);

    if c[4]and c[9]and c[14]and c[19]and c[24]then inc(s);

    if c[5]and c[10]and c[15]and c[20]and c[25]then inc(s);

    if c[1]and c[7]and c[13]and c[19]and c[25]then inc(s);

    if c[5]and c[9]and c[13]and c[17]and c[21]then inc(s);

    b:=true;

    end;

    procedure fdq(k,t:integer);

    var i:integer;

    begin

    if k

  • 0
    @ 2009-05-12 13:25:05

    没看懂题目讲什么……

  • 0
    @ 2009-05-10 12:56:05

    打表。。。

    1 0 0 0

    2 0 0 0

    3 0 0 0

    4 0 0 0

    5 1 1 1

    6 1 1 1

    7 1 1 1

    8 1 1 1

    9 2 3 1 2

    10 2 3 1 2

    11 2 3 1 2

    12 3 6 1 2 3

    13 3 6 1 2 3

    14 4 10 1 2 3 4

    15 4 10 1 2 3 4

    16 5 15 1 2 3 4 5

    17 6 21 1 2 3 4 5 6

    18 5 21 1 2 3 4 5 6

    19 6 28 1 2 3 4 5 6 7

    20 6 28 1 2 3 4 5 6 7

    21 6 35 2 3 4 5 6 7 8

    22 4 30 4 5 6 7 8

    23 3 30 6 7 8 9

    24 3 27 8 9 10

    25 1 12 12

    编译通过...

    ├ 测试数据 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-05-04 17:45:14

    [red]题目什么意思?

  • 0
    @ 2009-03-17 16:34:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

    var

    n,k:shortint;

    begin

    readln(n);

    if (n>=0)and(n=5)and(n=9)and(n=12)and(n=14)and(n=16)and(n=17)and(n=19)and(n=21)and(n=22)and(n=24)and(n=25)and(n

  • 0
    @ 2009-02-07 12:36:17

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    根据下面的26重循环的程序得出答案 再交表O(∩_∩)O哈哈~

    {program p1146;

    var n,i,ans:integer;

    a:array[0..6,0..6] of integer;

    f:array[0..12] of integer;

    a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25:integer;

    function cha(l:integer):integer;

    begin

    cha:=0;

    for i:=1 to 5 do

    if (a=1)and(a=1)and(a=1)and(a=1)and(a=1)then inc(cha);

    for i:=1 to 5 do

    if (a[1,i]=1)and(a[2,i]=1)and(a[3,i]=1)and(a[4,i]=1)and(a[5,i]=1)

    then inc(cha);

    if (a[1,1]=1)and(a[2,2]=1)and(a[3,3]=1)and(a[4,4]=1)and(a[5,5]=1)

    then inc(cha);

    if (a[5,1]=1)and(a[4,2]=1)and(a[3,3]=1)and(a[2,4]=1)and(a[1,5]=1)

    then inc(cha);

    end;

    begin

    for n:=1 to 25 do

    begin

    fillchar(f,sizeof(f),0);

    for a1:=0 to 1 do

    for a2:=0 to 1 do

    for a3:=0 to 1 do

    for a4:=0 to 1 do

    for a5:=0 to 1 do

    for a6:=0 to 1 do

    for a7:=0 to 1 do

    for a8:=0 to 1 do

    for a9:=0 to 1 do

    for a10:=0 to 1 do

    for a11:=0 to 1 do

    for a12:=0 to 1 do

    for a13:=0 to 1 do

    for a14:=0 to 1 do

    for a15:=0 to 1 do

    for a16:=0 to 1 do

    for a17:=0 to 1 do

    for a18:=0 to 1 do

    for a19:=0 to 1 do

    for a20:=0 to 1 do

    for a21:=0 to 1 do

    for a22:=0 to 1 do

    for a23:=0 to 1 do

    for a24:=0 to 1 do

    for a25:=0 to 1 do

    if a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25=n then

    begin

    a[1,1]:=a1;

    a[1,2]:=a2;

    a[1,3]:=a3;

    a[1,4]:=a4;

    a[1,5]:=a5;

    a[2,1]:=a6;

    a[2,2]:=a7;

    a[2,3]:=a8;

    a[2,4]:=a9;

    a[2,5]:=a10;

    a[3,1]:=a11;

    a[3,2]:=a12;

    a[3,3]:=a13;

    a[3,4]:=a14;

    a[3,5]:=a15;

    a[4,1]:=a16;

    a[4,2]:=a17;

    a[4,3]:=a18;

    a[4,4]:=a19;

    a[4,5]:=a20;

    a[5,1]:=a21;

    a[5,2]:=a22;

    a[5,3]:=a23;

    a[5,4]:=a24;

    a[5,5]:=a25;

    f[cha(0)]:=1;

    end;

    ans:=0;

    for i:=1 to 12 do ans:=ans+f[i]*i;

    writeln(n,'***|',ans);

    end;

    end.

    交表...嘿嘿}

    program p1146;

    var n:integer;

    f:array[0..25] of integer=(0,0,0,0,0,1,1,1,1,3,3,3,6,6,10,10,15,21,21,28,28,35,30,30,27,12);

    begin

    readln(n);

    writeln(f[n]);

    end.

  • 0
    @ 2009-02-07 00:18:05

    上帝饶恕我吧,打表了,555~~

  • 0
    @ 2009-01-30 23:03:38

    一开始就瞄准打表的方向……结果搜索程序在我的电脑上足足运行了 5 分钟才出结果 以致我一直单步执行来确定是不是死循环……

    打表万岁!

    给出两个计算过程…… 一个是看能组成的k的12种情况有几种 一个是布置2^25种情况的棋盘…… 囧死

    {$S-}

    procedure tongji;

    begin

    s:=0;time:=0;bt1:=true;bt2:=true;

    fillchar(heng,sizeof(heng),true);

    fillchar(shu,sizeof(shu),true);

    for i:=1 to 25 do

    if map[i] then inc(s);

    if s0 then

    begin

    for i:=1 to 25 do

    begin

    if not map[i] then

    begin

    heng[(i-1) div 5]:=false;

    shu[i mod 5]:=false;

    if (i mod 6)=1 then bt1:=false;

    if (i mod 4)=1 then bt2:=false;

    end;

    end;

    for i:=0 to 4 do

    begin

    if heng[i] then inc(time);

    if shu[i] then inc(time);

    end;

    if bt1 then inc(time);

    if bt2 then inc(time);

    if time0 then

    if not bool then

    begin

    inc(ans,time);

    bool:=true;

    end;

    end;

    end;

    procedure fang(n:integer);

    begin

    if n>=26 then tongji else

    begin

    map[n]:=false;

    fang(n+1);

    map[n]:=true;

    fang(n+1);

    end;

    end;

  • 0
    @ 2008-11-30 09:21:22

    搜索程序:

    program Vijos_P1146;

    var

    x,y:array[1..5] of integer;

    used:array[0..12] of boolean;

    ans,count,a,b,n:integer;

    procedure search(i,j:integer);

    var

    total,k:integer;

    begin

    if i>5 then

    begin

    total:=0;

    for k:=1 to 5 do

    begin

    if x[k]=5 then inc(total);

    if y[k]=5 then inc(total);

    end;

    if a=5 then inc(total);

    if b=5 then inc(total);

    if not used[total] then

    begin

    inc(ans,total);

    used[total]:=true;

    end;

    exit;

    end;

    if count

  • 0
    @ 2008-11-29 13:07:23

    const

    a:array[1..25]of integer=(0,0,0,0,1,1,1,1,3,3,3,6,6,10,10,15,21,21,28,28,35,30,30,27,12);

    var

    n,k:integer;

    begin

    read(n);

    k:=a[n];

    write(k);

    end.{数学方法}

  • 0
    @ 2008-11-13 18:21:49

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    非正常方法。。。

信息

ID
1146
难度
3
分类
搜索 | 搜索与剪枝 点击显示
标签
(无)
递交数
1963
已通过
1055
通过率
54%
被复制
8
上传者