zoukankan      html  css  js  c++  java
  • 核电站问题

    【题目描述】

    核电站有N个放置核物质的坑,坑排列在一条直线上,如果连续M个坑中放置核物质,则会发生爆炸,所以在某些坑中可能不放置核物质。

    对于给定的N和M,询问不发生爆炸的放置核物质的方案总数。

    【输入描述】

    输入两个正整数N、M(1 < N < 50,2 ≤ M ≤ 5)。

    【输出描述】

    输出一个正整数,表示方案总数。

    【样例输入】

    4 3

    【样例输出】

    13

    源代码:
    
    #include<cstdio>
    long long ans,f[50][5];
    int n,m;
    int main()
    {
        scanf("%d%d",&n,&m);
        f[1][0]=f[1][1]=1;
        for (int a=2;a<=n;a++)
        {
            for (int b=0;b<m;b++)
              f[a][0]+=f[a-1][b];
            for (int b=1;b<m;b++)
              f[a][b]=f[a-1][b-1];
        }
        for (int a=0;a<m;a++)
          ans+=f[n][a];
        printf("%lld",ans);
        return 0;
    }
    
    /*
        设f[i][j]表示到第i个坑有长度为j的连续核物质,则有如下状态转移方程:
            f[i][j]=f[i-1][j-1](j>0)
                   =∑f[i-1][k](0<=k<m,j=0)。
    */
  • 相关阅读:
    leetcode笔记-1 twosum
    pythoon_interview_redit
    Python 二维列表
    py xrange
    python 垃圾回收机制
    python 链表
    Python 面试总结
    linux 目录
    Linux 文件名颜色
    实践是检验真理的唯一标准
  • 原文地址:https://www.cnblogs.com/Ackermann/p/5929212.html
Copyright © 2011-2022 走看看