题目大意: 有编号1到10共10个球,从上方丢下去,入口处可以选择进入左边或者右边,最后10个球全部落下去后如果左右两侧都是从小到大的顺序,则输出YES;否则输出NO。

  题目原本的标签枚举,复杂度是2^10,,,很容易水过。我这里说的是用贪心的方法,直接扫一遍O(10)复杂度: 设两个栈 模拟左右两个管; 对于每一个球有以下几种处理情况:

1、如果两个栈都为空,就往任意一个栈里放入小球

2、如果当前小球编号同时小于两个栈的栈顶小球编号,则直接输出"NO"

3、如果当前小球编号比其中一个栈的栈顶小球编号小,则放入另一个栈中

4、如果仅有一个栈空或都不为空,就判断当前小球编号是否为其中一个栈的栈顶小球编号数+1,是的话就放入那个栈内

5、当前小球编号都不为两个栈栈顶的小球编号数+1,那就判断哪个栈的栈顶小球编号数距其最近,就放入哪个栈

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <queue>
#include <stack>
#include <map>
#include <vector>
#include <set>
#include <utility>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std; int a[];
int main()
{
//freopen("input.txt","r",stdin);
int n;
scanf("%d",&n);
while(n--)
{
for(int i=; i<; i++)
scanf("%d",&a[i]);
//
stack<int> sl,sr;
sl.push(a[]);
//
bool flag=true;
for(int i=; i<; i++)
{
if(!sr.empty())
{
if(a[i]<sl.top()&&a[i]<sr.top())
{
flag=false;
break;
}
else
{
if(a[i]==sl.top()+)
sl.push(a[i]);
else if(a[i]==sr.top()+)
sr.push(a[i]);
else if(a[i]<sl.top())
sr.push(a[i]);
else if(a[i]<sr.top())
sl.push(a[i]);
else
{
if((a[i]-sl.top())<(a[i]-sr.top()))
sl.push(a[i]);
else
sr.push(a[i]);
}
}
}
else
{
if(a[i]==sl.top()+)
sl.push(a[i]);
else
sr.push(a[i]);
}
}
//
if(flag)
printf("YES\n");
else
printf("NO\n");
}
return ;
}

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(12-3)译 -&gt; 数据库连接日志
  2. 通过form上传文件(php)
  3. Linux date命令详解
  4. SQL--存储过程
  5. 本地仓库 同步到 bitbucket 远程git库
  6. 深入理解JavaScript系列(转自汤姆大叔)
  7. 面试问到的Spring
  8. JavaScript 对象的几种创建方法
  9. TreeView中节点勾选设置
  10. 自学Zabbix3.7.2-事件Event-来源与分类
  11. arm swi 软中断 一例
  12. struts_01
  13. SQL外连接
  14. 4.4管道和中间件介绍「深入浅出ASP.NET Core系列」
  15. vue 实现图片上传与预览,以及清除图片
  16. X5中CSS设置
  17. 我的第一个Java程序和Java简介
  18. Mina简单的入门示例
  19. android viewflipper的使用 实现图片滑动效果
  20. C结构体数组的应用

热门文章

  1. Spring MVC中传递json数据时显示415错误解决方法
  2. Azure Command Line(Azure CLI)指南
  3. MarkDown流程图概要
  4. elasticsearch性能调优
  5. SQL学习--Select(一)TOP、派生表、连接、谓词
  6. C# 多线程系列(二)
  7. 解决无法移除tomcat中的项目
  8. 【PostgreSQL-9.6.3】extract函数
  9. 【Oracle】Rman备份策略
  10. JQuery特效之心形图片墙