填坑I
Description
又是北湖深坑,惊不惊喜,意不意外?!
Roark 觉得用水填湖太没意思了,用石头填坑多有意思。
假设北湖的地面还是一维的,每一块宽度都为1,高度是非负整数,用一个数组来表示。
现提供不限量的1×2规格的石头,问是否可以将北湖填平。(所有地面到达同一高度即为填平)
注:石头只能水平或垂直填放。
Input
样例有多组输入至文件末尾;
每组用例占两行;
第一行输入1个整数 n(1 ≤ n ≤ 2×10^5)表示北湖地面总宽度;
第二行输入 n 个整数 ai(0 ≤ ai ≤ 1e9),用空格间隔,表示地面高度。
Output
若能填平则输出“YES”,否则输出“NO”。

代码如下:
#include<cstdio>
#include<stack>
using namespace std;
const long maxn=200000+1;
long n,a

这是一个关于一维平面填湖问题的算法实现。给定一个宽度为n的北湖,地面由非负整数表示的高度数组,利用无限数量的1×2石头判断是否能将湖填平。算法通过栈来检查每一步是否可以放置石头,最后根据栈的状态决定输出"YES"或"NO"。
最低0.47元/天 解锁文章
864

被折叠的 条评论
为什么被折叠?



