网站后台首页游戏推广员每天做什么
Description
又是北湖深坑,惊不惊喜,意不意外?!
觉得用水填湖太没意思了,用石头填坑多有意思。
假设北湖的地面还是一维的,每一块宽度都为1,高度是非负整数,用一个数组来表示。
现提供不限量的 规格的石头,问是否可以将北湖填平。(所有地面到达同一高度即为填平)
注:石头只能水平或垂直填放。
Input
样例有多组输入至文件末尾;
每组用例占两行;
第一行输入1个整数 表示北湖地面总宽度;
第二行输入 个整数 ,用空格间隔,表示地面高度。
Output
若能填平则输出“YES”,否则输出“NO”。
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
C++整体代码
#include <iostream>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;int main(){int n;stack<int> st;while (EOF != scanf("%d", &n)) {st = stack<int>();vector<int> h(n, 0);for (int i = 0; i < n; i++) {scanf("%d", &h[i]);if (st.empty()|| abs(st.top() - h[i]) % 2 == 1) {st.push(h[i]);}else if(abs(st.top()-h[i])%2==0) {st.pop();}}if (st.size()>1) cout << "NO" << endl;else cout << "YES" << endl;}return 0;
}