题目描述
一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续3个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。现在,请你计算:对于给定的N,求不发生爆炸的放置核物质的方案总数。

输入
输入文件只有多行,每行对应一个正整数N<=40;

输出
输出文件有多行,每行只有一个正整数,表示方案总数

样例输入
1
2
3
4
10

样例输出
2
4
7
13
504

附上代码:

import java.util.Scanner;public class Main{public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);while(scan.hasNext()) {int n = scan.nextInt();System.out.println(searchSolution(n,3));}}public static int searchSolution(int n, int m) {int f[] = new int[n+1];f[0] = 1;for (int i = 1; i <= n; i++) {if (i < m)//第i个坑道只有放或者不放2种情况f[i] = 2 * f[i - 1];if (i == m)第i个坑道只有放或者不放2种情况,减去的1是前m坑道都放的情况,因为前面都放了,这个就只能空,只有一种情形f[i] = 2 * f[i - 1] - 1;if (i > m)/*有两种情况,前 i-1 个不发生爆炸,第 i 个可放可不放,f[i-1]*2但有种情况不知符合道要求,即第 i-m+1 ... i 个都放了(专最后 m 个不符合要求),但第 i-m ... i-1 是符合要求的所以当第 i-m 个没有放,第 i-m+1 ... i 个放了的情况下是多计算的,减去这部分(f[i-m-1])即可*/f[i] = 2 * f[i - 1] - f[i - m - 1];}return f[n];}
}

OJ刷题——核电站问题相关推荐

  1. 各大OJ刷题平台汇总

    前言 想成为一名高级工程师,算法还是要有的,至少在入门编程和进入公司之前都是必备的.刷题也可以很好的锻炼动手能力和逻辑思维,今天就给大家介绍一些知名的在线刷题平台,都是干货哦! 力扣(leetcode ...

  2. python oj刷题网站_程序员常用的刷题网站

    1.Lintcode Lintcode.com--LintCode网站是国内较大的在线编程&测评网站.此网站提供各大IT公司的算法面试题类型,行分门别类,由简单到中等,再到难,便于不同水平的程 ...

  3. python oj刷题网站_中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦!

    原标题:中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦! 相信许多人在学习完编程之后都会茫然,感觉自己无所不能,但是当敲代码时却大脑一片空白.在这里向大家介绍练习和提高代码水平的新姿势--橙旭园OJ ...

  4. Jarvis OJ 刷题题解 RE

    最近比赛有点多 决定把 脱强壳  还有软件调试 还有 漏洞战争 放一放 先刷一些题目压压惊 最终还是选择了 Jarvis OJ   (buuctf 太卡了... 以前也写过几道  === 希望能把上面 ...

  5. 【刷题汇总】 CSP/NOIP真题分析 基础OJ刷题包

    1.NOIP与CSP-J/S的历年真题分析汇总 序号 标题 内容 属性 1 CSP-J2-2021 解题报告 J组真题讲解 题解包 2 CSP-J2-2020 解题报告 J组真题讲解 题解包 3 CS ...

  6. Leet Code OJ 刷题顺序参考

    出现频度为5:  1. Leet Code OJ 1. Two Sum [Difficulty: Easy]  2. Leet Code OJ 8. String to Integer (atoi) ...

  7. 杭电oj刷题C语言答案+思路

    作为接触C语言不久的新人来说,确实有很多没想到的地方,不少方法是暴力求解,代码量长,方法麻烦,一些题目还是有借鉴大佬的答案,请多谅解.一些题目有我的笔记.如有错误以及更好的见解,请理性讨论.如果对你有 ...

  8. 记录小白杭电OJ刷题

    第一阶段:开始入门吧!(15天,53题) 一.输入输出练习(2天,10题) 1000.1089-1096.1001 二.简单操作:(2-4天,12题) 2000-2011.2039 三.英文题试水(3 ...

  9. hangdian OJ刷题

    文章目录 第一阶段:开始入门!(15天,53题) 第二阶段:我要学算法!(12天,31题) 第三阶段:acm无底洞!(10天,18题) 结语 第一阶段:开始入门!(15天,53题) 一.输入输出练习( ...

最新文章

  1. 不插电的计算机科学读心术,科学“读心术”,当脑电波扫描图遇到人工智能
  2. 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
  3. 合并多个word的代码_快速合并多个word文档内容,别再复制粘贴了!
  4. 由胡润百富榜联想到的
  5. opencv python tutorials_OpenCV-Python Tutorials 笔记(二)
  6. Anroid View事件响应机制和ViewGroup的事件响应分发机制
  7. cefsharp异步抓取html5,winform插件cefsharp65最新版完美demo,完美flash、html5、和调用摄像头支持,部署就能用...
  8. 5种方式,判断一个数组中是否包含某个元素
  9. 纯干货 | UI界面中按钮设计CTA按钮\订阅按钮
  10. 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
  11. 2017江苏事业单位计算机类,2017年上半年江苏事业单位计算机岗真题
  12. 说要干掉苹果的罗永浩却打起了微软
  13. SQL Server 2008及以上版本出现”SQL Server 复制需要有实际的服务器名称才能连接到服务器...“的问题解决...
  14. 帆软高级函数应用之其他函数
  15. 工作的思考十:思维的高度决定设计的好坏(小菜的思维)
  16. RedHat7如何配置新网卡
  17. mysql 创建事件_MySQL创建事件(CREATE EVENT)
  18. python处理矩阵运算、转置矩阵、逆矩阵、单位矩阵
  19. L1-054 福到了 (15分)题解
  20. 音视频开发 人脸标定 animoji 动态贴纸 小项目练习总结

热门文章

  1. 华硕电脑如何设置记事本软件窗口置顶
  2. ae表达式修复_修复AE表达式兼容性防止报错Expression Universalizer v3.1.4脚本下载
  3. javaweb校园自行车租赁系统
  4. FFmpeg命令行,从小白入门到收藏吃灰——基础归纳
  5. 全国民众信息泄露,包括总统、政要和明星
  6. 优化核心思想(1):分迭
  7. CGCS2000坐标系与其他坐标系间的差异和转换方法
  8. 银河麒麟系统开机启动时间优化
  9. 关于学生免费免费阿里云ECS
  10. K-means 聚类算法的应用案例实战(含代码和图示)