zoukankan      html  css  js  c++  java
  • noi 9267 核电站

    题目链接:http://noi.openjudge.cn/ch0206/9267/

    描述

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

    任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 

    f[i][j]表示前i个已经连续了j个。那么当前有两种状态:1.当前这个格子放的话,那么加上这个格子为j个,所以由j-1推来。2.不放的话,前面的状态是什么都可以了,所以从f[i-1][0..m-1]推来。

    #include <bits/stdc++.h>
    using namespace std;
    
    int n,m;
    long long f[55][10];
    
    int main()
    {
        scanf("%d%d",&n,&m);
    
        f[0][0] = 1;
    
        for(int i=1;i<=n;i++) {
            for(int j=0;j<=m-1;j++) {
                if(j==0) {
                    for(int k=0;k<=m-1;k++)
                        f[i][j] +=f[i-1][k];
                }
                else {
                    f[i][j] +=f[i-1][j-1];
                }
            }
    
        }
    
        long long ans = 0;
        for(int i=0;i<=m-1;i++) {
            ans +=f[n][i];
        }
    
        printf("%lld
    ",ans);
    
    
        return 0;
    }
  • 相关阅读:
    HTTP基础
    DHCP(六)
    DOM备忘录
    正则表达式备忘录
    Function与Object的关系
    模块模式浅析
    视频下载
    JSP基础点滴
    迭代输出总结
    中文乱码问题的解决途径
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6027979.html
Copyright © 2011-2022 走看看