题解

138 条题解

  • 0
    @ 2009-07-27 22:41:51

    注意这几个地方

    1. J :2(传两次) -m

    I : 1 - n

    2. f := f + f

    i 为人

    j 为传的次数

    输出f[1,m] ;

    GAME OVER zzz.......

  • 0
    @ 2009-07-23 22:22:53

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var s:array[1..30,1..30] of longint;

    n,m,p,a:longint;

    function b(tmp,dir:longint):longint;

    begin

    if dir=1 then

    if tmp=n then b:=1

    else b:=tmp+1;

    if dir=-1 then

    if tmp=1 then b:=n

    else b:=tmp-1;

    end;

    begin

    read(n,m);

    fillchar(s,sizeof(s),0);

    p:=1;

    s[p,2]:=1;

    s[p,n]:=1;

    while pm do

    begin

    p:=p+1;

    for a:=1 to n do

    begin

    s[p,b(a,-1)]:=s[p,b(a,-1)]+s[p-1,a];

    s[p,b(a,1)]:=s[p,b(a,1)]+s[p-1,a];

    end;

    end;

    write(s[m,1]);

    end.

  • 0
    @ 2009-07-19 09:42:35

    var m,n,s,a,b:integer; f:array[1..40,1..40] of integer;

    begin

    read(n,m);

    for a:=1 to n do

    for b:=1 to m do

    f[a,b]:=0;

    f[1,0]:=1;

    for i:=1 to m do

    for k:=1 to n do

    begin

    if k0 then

    if i=1 then f:=f[n,k-1]+f[2,k-1]

    else

    if i=n then f:=f[n-1,k-1]+f[1,k-1]

    else f:=f+f;

    end;

    write(f[1,m]);

    end;

    end.

  • 0
    @ 2009-07-19 08:38:31

    program cq;

    var

    i,n,k,m:integer;

    f:array[3..30,1..30] of integer;

    begin

    read(n,m);

    f[1,0]:=1:

    for i:= 1 to n do

    for k := 1to m do

    f:=f+f;

    if i=1 then f[1,k]:=f[2,k-1]+f[n,k-1];

    if i=n then f[n,k]:=f[n-1,k-1]+f[1,k-1];

    write (f);

    end.

  • 0
    @ 2009-07-19 07:41:06

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

      f:array[0..40,0..40] of longint;

    begin

    readln(n,m);

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

    f[1,0]:=1;

    for k:=1 to m do

      for i:=1 to n do

       if i=n then f[n,k]:=f[n-1,k-1]+f[1,k-1]

       else if i=1 then f[1,k]:=f[n,k-1]+f[2,k-1]

       else f:=f+f;

    writeln(f[1,m]);

    end.

  • 0
    @ 2009-07-18 09:52:34

    为什么输出全是0???????????????????

  • 0
    @ 2009-07-11 18:20:58

    通过60

    提交200

    庆祝一下呵呵

  • 0
    @ 2009-07-09 23:15:01

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

    f:array[0..40,0..40] of longint;

    begin

    readln(n,m);

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

    f[1,0]:=1;

    for k:=1 to m do

    for i:=1 to n do

    if i=n then f[n,k]:=f[n-1,k-1]+f[1,k-1]

    else if i=1 then f[1,k]:=f[n,k-1]+f[2,k-1]

    else f:=f+f;

    writeln(f[1,m]);

    end.

  • 0
    @ 2009-10-23 19:48:26

    编译通过...

    ├ 测试数据 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-29 20:09:01

    编译通过...

    ├ 测试数据 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-26 20:03:13

    第889个通过,注意到这就是个DP

  • 0
    @ 2009-06-18 18:00:17

    AC标程,仅供参考。

    谢谢。

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    program P1485;

    var

    n,m,i,j,k1,k2 :longint;

    ans :array[0..1,1..30]of longint;

    begin

    readln(n,m);

    fillchar(ans,sizeof(ans),0);

    ans[0,1]:=1;

    for i:=1 to m do

    begin

    fillchar(ans[1],sizeof(ans[1]),0);

    for j:=1 to n do

    begin

    if j=1 then k1:=n else k1:=j-1;

    if j=n then k2:=1 else k2:=j+1;

    ans[1,j]:=ans[0,k1]+ans[0,k2];

    end;

    ans[0]:=ans[1];

    end;

    writeln(ans[1,1]);

    end.

  • 0
    @ 2009-06-13 23:20:05

    readln(n,m);

    f[0][1]:=1;

    for i:=1 to m do

    for j:=1 to n do

    begin

    if j=1 then decj:=n else decj:=j-1;

    if j=n then incj:=1 else incj:=j+1;

    f[i][j]:=f[incj]+f[decj];

    end;

    writeln(f[m][1]);

    简洁~

  • 0
    @ 2009-06-04 16:58:14

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    noip2008普及组详细解题报告(附源程)!

    http://hi.baidu.com/gotolc/blog/item/216b90134a835959f819b8a4.html

  • 0
    @ 2009-06-04 12:41:21

    #include

    using namespace std;

    int d[31],f[31];

    int main (){

    int n,m;

    cin>>n>>m;

    int i,j;

    d[1]=1;

    for (i=1;i

  • 0
    @ 2009-05-03 10:53:59

    ├ 测试数据 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-04-25 20:26:45

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

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

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

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

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

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

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

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

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

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

    好烦的递推。。。。

  • 0
    @ 2009-04-06 11:31:33

    用两个一维数组的递推!考试时唯一满分的题~做着真爽

    每次可能传到的次数=上次左边传到的次数+上次右边传到的次数

    轻轻松松就AC拉~

  • 0
    @ 2009-04-04 14:17:02

    dp题目。。。。。

    13行代码:

    #include

    using namespace std;

    int n,m,f[31][31]; /*f[ind][x] = f[(ind + 1) % n][x-1] +f[(ind -1 + n) % n][x-1]*/

    int main()

    {

    cin >> n >> m;

    for(int i = 0;i

  • 0
    @ 2009-03-05 22:17:33

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    10分钟AC

    #include "stdio.h"

    int main()

    {

    int i,j,m,n,a[31][30]={0};

    scanf("%d%d",&n,&m);

    a[0][0]=1;

    for(i=1;i

信息

ID
1485
难度
3
分类
动态规划 点击显示
标签
递交数
4751
已通过
2234
通过率
47%
被复制
14
上传者