魔法石之恋
来源:互联网 发布:火影忍者世界观知乎 编辑:程序博客网 时间:2024/04/27 15:48
题目:
Description
在《Harry Potter and the Sorcerer’s Stone》中,想得到魔法石,必须要通过许许多多的测试和游戏。现在阿不思•邓布利多认为这些游戏都具有魔法力,魔法师们能够轻松的通过,我们要增加一些只能够通过智力解决的题目,需要真正的聪明人才能够通过。现在由于我们敬爱的Harry Potter同学时间有限,需要你的帮助,请你帮助他来解决这个问题。必须要在伏地魔之前得到魔法石,这样才能够保护魔法界的安全。
游戏的规则如下:
现有一游戏,玩它时将会有方块有顺序的从屏幕顶端掉下至底部,当它碰到障碍物或底部时将停下,同时自己变成障碍物。游戏规则规定,只能从方块下落前决定下落时的横向位置,使这个方块变成障碍物后的高度最低,且如果有几种横向位置使这个方块变成障碍物后的高度最低时,取最左边的横向位置下落。
Input
(1)第一行有2个整数,方块数n和屏幕宽度w。
(2)2行到n+1行每行1个整数,为第i个方块的边长a。
Output
仅包含一个整数,即为最后障碍物的最高点高度。
Sample Input
3 5
2
1
3
Sample Output
4
注:一个转C的标志
代码:
#include<stdio.h>#include<iostream>#define N 111#define INF 1000000000using namespace std;int high[N],w,n;int main(){ scanf("%d%d",&n,&w); for(int i=1;i<=n;i++) { int a,pos,minn=INF; scanf("%d",&a); for(int j=1;j+a-1<=w;j++) { int maxn=0; for(int k=1;k<=a;k++) maxn=max(maxn,high[k+j-1]); if(maxn<minn) { pos=j; minn=maxn; } } for(int j=1;j<=a;j++) high[j+pos-1]=minn+a; } int ans=0; for(int i=1;i<=n;i++) ans=max(ans,high[i]); printf("%d",ans); return 0;}
1 0
- 魔法石之恋
- 【其他】【RQNOJ】魔法石之恋
- 哈利波特1 魔法石
- C~K的魔法石
- 喵哈哈村的魔法石
- fjnu 1441 哈利.波特与魔法石
- 例题分析-数学作业,魔法石的诱惑
- 喵哈哈村的魔法考试 Round #1 (Div.2) C 喵哈哈村的魔法石(II) 背包dp
- 雪,之韵,之恋,之......
- 待字闺中之单链表和之恋
- 凤凰城之恋
- “枫”之恋
- 广岛之恋
- 《红色之恋》
- 布拉格之恋
- 初雪之恋
- 蓝莓之恋
- 再说《山楂树之恋》
- Android小demo,两个button,控制多个输入框实现值自增自减。
- 关于SpringMVC和ajax的前后台互传数据
- NameNode、SecendNameNode和DataNode的工作机制
- pwm输出实验
- ubuntu通过V4L2采集jpg并显示jpg
- 魔法石之恋
- Angular4中的输出属性
- LinkStack实现
- 常用剪枝小结与小木棍问题
- oracle安装出错未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\WFML
- Android5.0特性
- openwrt sysupgrape
- 图像目标检测技术进展(课件总结PPT)
- Sum—LeetCode-454 4Sum II