OJ刷题——核电站问题
题目描述
一个核电站有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刷题——核电站问题相关推荐
- 各大OJ刷题平台汇总
前言 想成为一名高级工程师,算法还是要有的,至少在入门编程和进入公司之前都是必备的.刷题也可以很好的锻炼动手能力和逻辑思维,今天就给大家介绍一些知名的在线刷题平台,都是干货哦! 力扣(leetcode ...
- python oj刷题网站_程序员常用的刷题网站
1.Lintcode Lintcode.com--LintCode网站是国内较大的在线编程&测评网站.此网站提供各大IT公司的算法面试题类型,行分门别类,由简单到中等,再到难,便于不同水平的程 ...
- python oj刷题网站_中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦!
原标题:中小学计算机竞赛去哪里刷题?橙旭园OJ系统上线啦! 相信许多人在学习完编程之后都会茫然,感觉自己无所不能,但是当敲代码时却大脑一片空白.在这里向大家介绍练习和提高代码水平的新姿势--橙旭园OJ ...
- Jarvis OJ 刷题题解 RE
最近比赛有点多 决定把 脱强壳 还有软件调试 还有 漏洞战争 放一放 先刷一些题目压压惊 最终还是选择了 Jarvis OJ (buuctf 太卡了... 以前也写过几道 === 希望能把上面 ...
- 【刷题汇总】 CSP/NOIP真题分析 基础OJ刷题包
1.NOIP与CSP-J/S的历年真题分析汇总 序号 标题 内容 属性 1 CSP-J2-2021 解题报告 J组真题讲解 题解包 2 CSP-J2-2020 解题报告 J组真题讲解 题解包 3 CS ...
- Leet Code OJ 刷题顺序参考
出现频度为5: 1. Leet Code OJ 1. Two Sum [Difficulty: Easy] 2. Leet Code OJ 8. String to Integer (atoi) ...
- 杭电oj刷题C语言答案+思路
作为接触C语言不久的新人来说,确实有很多没想到的地方,不少方法是暴力求解,代码量长,方法麻烦,一些题目还是有借鉴大佬的答案,请多谅解.一些题目有我的笔记.如有错误以及更好的见解,请理性讨论.如果对你有 ...
- 记录小白杭电OJ刷题
第一阶段:开始入门吧!(15天,53题) 一.输入输出练习(2天,10题) 1000.1089-1096.1001 二.简单操作:(2-4天,12题) 2000-2011.2039 三.英文题试水(3 ...
- hangdian OJ刷题
文章目录 第一阶段:开始入门!(15天,53题) 第二阶段:我要学算法!(12天,31题) 第三阶段:acm无底洞!(10天,18题) 结语 第一阶段:开始入门!(15天,53题) 一.输入输出练习( ...
最新文章
- 不插电的计算机科学读心术,科学“读心术”,当脑电波扫描图遇到人工智能
- 【UML】UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 合并多个word的代码_快速合并多个word文档内容,别再复制粘贴了!
- 由胡润百富榜联想到的
- opencv python tutorials_OpenCV-Python Tutorials 笔记(二)
- Anroid View事件响应机制和ViewGroup的事件响应分发机制
- cefsharp异步抓取html5,winform插件cefsharp65最新版完美demo,完美flash、html5、和调用摄像头支持,部署就能用...
- 5种方式,判断一个数组中是否包含某个元素
- 纯干货 | UI界面中按钮设计CTA按钮\订阅按钮
- 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
- 2017江苏事业单位计算机类,2017年上半年江苏事业单位计算机岗真题
- 说要干掉苹果的罗永浩却打起了微软
- SQL Server 2008及以上版本出现”SQL Server 复制需要有实际的服务器名称才能连接到服务器...“的问题解决...
- 帆软高级函数应用之其他函数
- 工作的思考十:思维的高度决定设计的好坏(小菜的思维)
- RedHat7如何配置新网卡
- mysql 创建事件_MySQL创建事件(CREATE EVENT)
- python处理矩阵运算、转置矩阵、逆矩阵、单位矩阵
- L1-054 福到了 (15分)题解
- 音视频开发 人脸标定 animoji 动态贴纸 小项目练习总结