zoukankan      html  css  js  c++  java
  • 公牛和母牛

    Description
      FJ想N头牛(公牛或母牛)排成一排接受胡总的检阅,经研究发现公牛特别好斗,如果两头公牛离得太近就会发生冲突,通过观察两头公牛之间至少要有K(0<=K<=N)头母牛才能避免冲突。
      FJ想请你帮忙计算一共有多少种放置方法,注意所有的公牛被认为是一样的,母牛也是,所以两种放置方法被认为不同当且仅当某些位置牛的种类不同。

    Input

      第一行:两个空格隔开的整数N(N<=100000)和K。

    Output

      输出一个整数表示方法总数,答案可能很大,所以只需输出mod 5,000,011的值即可。

    Sample Input
    4 2

    Sample Output
    6

    Data Constraint

    Hint

    【样例说明】
    以下为6种放置方法,‘B’表示公牛,‘C’表示母牛
    CCCC
    BCCC
    CBCC
    CCBC
    CCCB
    BCCB
    .
    .
    .
    .
    .
    .
    .

    程序:

    var
    n,k,i:longint;
    dp:array[0..100005]of int64; 
    begin
        read(n,k);
        for i:=0 to n do
        if i<=k then dp[i]:=i+1 else dp[i]:=(dp[i-1]+dp[i-k-1]) mod 5000011;
        write(dp[n]);
    end.
  • 相关阅读:
    ACM中java的使用
    hdu 1273最大流
    1066N !最右边非零数
    关于为什么要建退边的原因
    浅析指向指针的指针其作用
    poj 1860 bellman 求正环
    poj 3461
    poj 2031
    poj 1068
    strncpy的用法
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9499981.html
Copyright © 2011-2022 走看看