zoukankan      html  css  js  c++  java
  • openjudge9267:核电站

    描述

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

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

    输入

    只一行,两个正整数N,M( 1 < N < 50,2 ≤ M ≤ 5 )

    输出

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

    样例输入

    4 3

    样例输出

    13
    题解
    比较常见的思路,多开一维存储状态即可。
     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 int n,m;
     6 long long f[105][105];
     7 int main()
     8 {
     9     scanf("%d%d",&n,&m);
    10     f[0][0]=1;
    11     for(int i=1 ; i<=n ; ++i )
    12     {
    13         for(int j=1 ; j<m ; ++j)
    14         {
    15             f[i][j]+=f[i-1][j-1];
    16             f[i][0]+=f[i-1][j-1];
    17         }
    18         f[i][0]+=f[i-1][m-1];
    19     }
    20     long long ans=0;
    21     for(int i=0 ; i<m ; ++i)ans+=f[n][i];
    22     printf("%lld",ans);
    23     return 0;
    24 }
    
    
    
     
  • 相关阅读:
    一切都是对象
    对象入门
    同步计算输入的各个数的总和与平均值
    与时间有关的类Date,DateFormat,Calendar
    获取文件信息
    串行化
    分解
    高速缓存
    压缩
    MyCAT实现MySQL的读写分离
  • 原文地址:https://www.cnblogs.com/fujudge/p/7545910.html
Copyright © 2011-2022 走看看