题解

138 条题解

  • 0
    @ 2008-11-29 20:55:47

    program ball;

    var

    n,m,i,j,x,y:longint;

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

    begin

    readln(n,m);

    f[0,1]:=1;

    for i:=1 to m do

    for j:=1 to n do

    begin

    x:=j-1;

    if x=0 then x:=n;

    y:=j+1;

    if y>n then y:=1;

    f:=f+f;

    end;

    writeln(f[m,1]);

    end.

    楼下的那个交表的:

    你有意义啊!!!!!!!

    浪费Vijos服务器的空间和我们的时间!!!!!!!!!!

    用常量不就行了!!!!!!!!!

    const

    Table:array[……]of longint=(……);

    begin

    readln(n,m);

    writeln(Table[n,m]);

    end;

  • 0
    @ 2008-11-29 20:43:36

    var

    f:array[0..31,1..31] of qword;

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

    begin

    read(n,m);

    f[0,1]:=1;

    for i:=1 to m do

    for j:=1 to n do

    begin

    if j=1 then f:=f+f;

    if j=n then f:=f+f;

    if (j1)and(jn) then

    f:=f+f;

    end;

    write(f[m,1]);

    end.

  • 0
    @ 2008-11-29 20:29:17

    刚开始编广搜,调试发现最大算到m=22(空间不够)

    用DP就AC了

  • 0
    @ 2008-11-29 19:32:13

    本人的另类做法:枚举+排列(另附:严禁打表!)

    编译通过...

    ├ 测试数据 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,m,i,j:integer;

    sum:qword;

    f:array[0..30,0..30]of qword;

    begin

    read(n,m);

    for i:=1 to m do f:=1;

    for i:=1 to m do f[0,i]:=1;

    for i:=1 to m do

    for j:=1 to m do

    f:=f+f;

    for i:=0 to m do

    begin

    j:=m-i;

    if (abs(i-j) mod n=0) then inc(sum,f);

    end;

    writeln(sum);

    end.

    Flag    Accepted

    题号   P1485

    类型(?)   动态规划

    通过   41人

    提交   64次

    通过率   64%

    难度   1

    提交 讨论 题解

  • 0
    @ 2008-11-29 19:27:56

    同WSC,我也是。。。。。。

    话说交表的力量无限大啊~~~~~~

  • 0
    @ 2008-11-29 18:30:38

    17lines

  • 0
    @ 2008-11-29 18:09:56

    很容易的DP。

    F=F+F

    j-1=0的时候令j-1=n

    j=n的时候令j+1=1

    边界条件

    F[0,1]=1

    用double或者long啥的存就ok了。

  • 0
    @ 2008-11-29 17:24:01

    [red]Orz前面的WSC_1992神牛![/red]

    [red]实用好方法![/red]

  • 0
    @ 2008-11-29 17:23:19

    楼上的,你这个表...也未免太...

  • 0
    @ 2008-11-29 17:19:20

    编译通过...

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

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

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

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

    ├ 测试数据 05:运行超时...

    ├ 测试数据 06:运行超时...

    ├ 测试数据 07:运行超时...

    ├ 测试数据 08:运行超时...

    ├ 测试数据 09:运行超时...

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

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

    Unaccepted 有效得分:50 有效耗时:0ms

    惨啊!考试时候就是丢掉五十分才给我弄了个250.....

  • 0
    @ 2008-11-29 17:00:37

    f表示第i次传递时,传到j手里的种数。

    f:=f+f

    注意边界

  • 0
    @ 2008-11-29 16:25:47

    大家,公式是什么啊

  • 0
    @ 2008-11-29 15:55:00

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    记忆化搜索

  • 0
    @ 2008-11-29 15:49:31

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    DP,5分钟搞定...

    用m*n的数组(可以简化成2个一维),(i,j)记录i次传球后传到第j个人的方案数,最后输出(m,1)的值。

  • 0
    @ 2008-11-29 15:38:09

    用记忆化搜索

  • 0
    @ 2008-11-29 16:10:11

    公式应该可以推

    我太菜了考后才推出

    OTZ ZPW神牛

  • -1
    @ 2016-10-27 23:05:06

    这水题,c++记忆化搜索秒过。
    c++
    #include <iostream>
    using namespace std;
    int n,m,f[35][35];bool book[35][35];
    inline int dfs(int x,int cnt)
    {
    if(cnt==m)return x==0?1:0;
    if(book[x][cnt])return f[x][cnt];
    f[x][cnt]=dfs((x+1)%n,cnt+1)+dfs((x+n-1)%n,cnt+1),book[x][cnt]=1;
    return f[x][cnt];
    }
    int main()
    {
    cin>>n>>m;
    cout<<dfs(0,0);
    return 0;
    }

    • @ 2018-06-03 15:38:27

      你这答案也要对才能算水题啊……

  • -1
    @ 2015-08-20 18:32:41

    水题水水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水题水

信息

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