• 核电站


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

    本题的任务是:对于给定的 n 和 m ,求不发生爆炸的放置核物质的方案总数。

    【输入】

    两个正整数 n 和 m ,之间用一个空格隔开。

    【输出】

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

    【样例输入】

    4 3

    【样例输出】

    13

    递归,上代码

     1 #include<iostream>
     2 using namespace std;
     3 int m,n,sum=0;
     4 void make(int cur,int lx)
     5 {
     6     if(cur==n+1)
     7     {
     8         sum++;
     9         return;
    10     }
    11     if(lx<=m-1)
    12         make(cur+1,lx+1);
    13     make(cur+1,1);
    14 }
    15 int main()
    16 {
    17     cin>>n>>m;
    18     make(1,1);
    19     cout<<sum;
    20     return 0;
    21 }

        不知怎么回事,    网                           站就是不给我过

             气                 得                           我

             想                 砸                           电脑,我写的

             程                 序                           哪

               里                 不对了?我明明       样例过了!!!

    别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动别激动

    刚刚我用的是递归,我换个思路,用递推试一试。。。

     1 #include<iostream>
     2 using namespace std;
     3 long long ans,a[60][60];
     4 int n,m;
     5 int main()
     6 {
     7     cin>>n>>m;
     8     a[1][0]=1;
     9     a[1][1]=1;
    10     for(int i=2;i<=n;i++)
    11     {
    12         for(int j=0;j<m;j++)
    13         a[i][0]+=a[i-1][j];
    14         for(int j=1;j<m;j++)
    15         a[i][j]=a[i-1][j-1];
    16     }
    17     for(int i=0;i<m;i++)
    18     ans+=a[n][i];
    19     cout<<ans;
    20     return 0;
    21 }

           历                     尽千辛万苦

         我终               于                   让

       网    站             给

      我过了,           真                   的

    好            不             容易啊!!

  • 相关阅读:
    hbase基础知识一
    启动hadoop报does not contain a valid host:port authority:node2_1:9000
    linux命令之------部分细节点
    linux命令之------which命令/cp命令/Head及tail命令/grep命令/pwd命令/cd命令/df命令/mkdir命令/mount及umount命令/ls命令/history命令/ifconfig命令/ping命令/useradd命令/命令passwd/kill命令/su命令/clear命令/ssh命令/tar解压缩/远程拷贝scp
    【移动端debug-3】部分安卓机型不触发touchend事件的解决方案
    图解用HTML5的popstate如何玩转浏览器历史记录
    重新出发:我的2015总结和2016计划
    图解Redux三大核心的关系
    一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
    React.js学习笔记(一):组件协同与mixin
  • 原文地址:https://www.cnblogs.com/jiaweigao/p/9609088.html
Copyright © 2020-2023  润新知