超级玛丽
2017-02-23 13:04
197 查看
package 动态规划;
import java.util.Scanner;
/*
* 陷阱不会位于1及n上
* 没有陷阱时:
* dp
=dp[n-1]+dp[n-2];
* 有陷阱的时:
* 点1是陷阱的话,只会影响1后面的,
* 如果点1是陷阱的话,点2为dp[2]=dp[2-2]加上之前那个点即可
* 也就是陷阱那个点不参与运算
*/
public class 超级玛丽 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
boolean flag[] = new boolean[n + 1];
int temp = 0;
for (int i = 0; i < m; i++) {
temp = sc.nextInt();
if (temp < n)//测试数据>=N,日狗
flag[temp] = true;
}
int dp[] = new int[n + 1];
dp[1] = 1;
for (int i = 2; i <= n; i++) {
if (flag[i])
continue;
dp[i] = dp[i - 1] + dp[i - 2];
}
System.out.println(dp
);
}
}
import java.util.Scanner;
/*
* 陷阱不会位于1及n上
* 没有陷阱时:
* dp
=dp[n-1]+dp[n-2];
* 有陷阱的时:
* 点1是陷阱的话,只会影响1后面的,
* 如果点1是陷阱的话,点2为dp[2]=dp[2-2]加上之前那个点即可
* 也就是陷阱那个点不参与运算
*/
public class 超级玛丽 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
boolean flag[] = new boolean[n + 1];
int temp = 0;
for (int i = 0; i < m; i++) {
temp = sc.nextInt();
if (temp < n)//测试数据>=N,日狗
flag[temp] = true;
}
int dp[] = new int[n + 1];
dp[1] = 1;
for (int i = 2; i <= n; i++) {
if (flag[i])
continue;
dp[i] = dp[i - 1] + dp[i - 2];
}
System.out.println(dp
);
}
}
相关文章推荐
- cocos2d-x游戏开发系列教程-超级玛丽10-怪物与马里奥冲突检测
- 经典,HTML5游戏,超级玛丽
- 超级玛丽制作揭秘5魔法攻击 类MYANIMAGIC
- 超级玛丽制作揭秘23玩家动作控制
- 用javascript绘制超级玛丽
- 感受JS的魅力——网页版超级玛丽
- 超级玛丽策划案
- 感受JS的魅力——网页版超级玛丽
- 经典,HTML5游戏,超级玛丽
- 超级玛丽续作正在开发
- 超级玛丽制作揭秘3 游戏背景类MYBKSKY
- 超级玛丽制作揭秘11子弹运动和打怪
- 超级玛丽制作揭秘24角色动画
- 今天的一下子跳出来了的超级玛丽
- 把BBB改造成红白机/掌机/玩超级玛丽
- 从零开始做游戏 - 超级玛丽30年
- 超级玛丽制作揭秘14爆炸效果,金币
- 超级玛丽制作揭秘26菜单控制 窗口缩放
- 超级玛丽 周赛
- 超级玛丽制作揭秘文档发布