一、题意:有十个数,判断是否能分成两个递增序列

二、思路:

  1、dfs:每个数判断在左边或者右边,遍历所有情况。

  2、贪心:在保证递增序的前提下,判断一个数放左边或者右边,决定于其更接近于哪一边最上面的一个数

三、代码:

1、

#include"iostream"
#include"stdio.h"
using namespace std;
int ball[11];
bool flag; void Dfs(int i,int left,int right)
{
if(flag) return;
if(i==10) {flag=true;return;} if(ball[i]>left)
Dfs(i+1,ball[i],right);
if(ball[i]>right)
Dfs(i+1,left,ball[i]);
} int main()
{
int t;
while(scanf("%d",&t)==1)
{
while(t--){
flag=false;
for(int i=0;i<10;i++)
cin>>ball[i];
Dfs(0,0,0);
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}

  

2、

#include"iostream"
#include"stdio.h"
using namespace std; int main()
{
int t;
while(scanf("%d",&t)==1)
{
while(t--){
int ball,left=0,right=0;
bool flag=true;
for(int i=0;i<10;i++)
{
cin>>ball;
if(flag){
if(left>ball&&right>ball)
{
flag=false;
}
else if(left>ball)
{
right=ball;
}
else if(right>ball)
{
left=ball;
}
else
{
if(left>right)
left=ball;
else
right=ball;
}
}
}
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}

  

aoj0033的更多相关文章

  1. 《挑战程序设计竞赛》2.1 深度优先搜索 POJ2386 POJ1979 AOJ0118 AOJ0033 POJ3009

    POJ2386 Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 25366   Accepted: ...

  2. 挑战程序2.1.4 穷竭搜索>>深度优先搜索

      深度优先搜索DFS,从最开始状态出发,遍历一种状态到底,再回溯搜索第二种. 题目:POJ2386  思路:(⊙v⊙)嗯  和例题同理啊,从@开始,搜索到所有可以走到的地方,把那里改为一个值(@或者 ...

  3. 算法总结—深度优先搜索DFS

    深度优先搜索(DFS) 往往利用递归函数实现(隐式地使用栈). 深度优先从最开始的状态出发,遍历所有可以到达的状态.由此可以对所有的状态进行操作,或列举出所有的状态. 1.poj2386 Lake C ...

随机推荐

  1. 线程同步synchronized,wait,notifyAll 测试示例

    https://www.cnblogs.com/LipeiNet/p/6475851.html 一  synchronized synchronized中文解释是同步,那么什么是同步呢,解释就是程序中 ...

  2. (转)通过Javascript得到URL中的参数(query string)

    原文地址:http://www.cnblogs.com/season-huang/p/3322561.html 我们知道,"GET"请求中,通常把参数放在URL后面,比如这样htt ...

  3. cmake安装方法

    由于Ubuntu14.04的cmake版本为2.8.x,而如果需要cmake3.x版本时,无法生成makefile,有两种方法可以安装cmake3.10.0: 方法1: sudo apt-get in ...

  4. Map存储容量及内存占用测试

    Integer a = 1; long start = 0; long end = 0; // 先垃圾回收 System.gc(); start = Runtime.getRuntime().free ...

  5. Oracle累计函数

    今天遇到一个客户的报表需求,在shipment的报表中要查看该shipment中的每个PO的采购数量,当前shipment的出货数量以及累计的所有出货数量. 要有累计的出货数,并且是要有顺序的累计出货 ...

  6. C# 真正完美的 汉字转拼音

    网上有很多说自己整理的汉字转拼音是完美的,但使用后才发现都是半吊的瓶子,问题多多. 常见的生僻字,或多音字识别,转换后简直让人感觉可怕. 主流的转换有三种:hash匹配,Npinyin,微软PinYi ...

  7. 关于MVC刷新页面会两次请求页面的原因

    遇到这个奇葩的问题刚开始关注点全放在后台了 ,以为后台哪个地方存在问题,找了半天一无所获之后才开始把问题关注点移到前端,通过不断的注释前台代码, 终于发现了问题,没想到是这个js导致的问题 因为的Vi ...

  8. 3月份GitHub上最热门的Java开源项目

    今天,我们来盘点3月份GitHub上最热门的Java项目的时候了,如果你每月都有关注猿妹发布的排行榜,那么本月的Java项目对你来说一定不陌生,这些都是曾经多次出现在榜单中的项目: 1 advance ...

  9. 51nod1832(二叉树/高精度模板+dfs)

    题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1832 题意: 中文题诶~ 思路: 若二叉树中有 k 个节点只 ...

  10. 题解 P4140 【奇数国 】

    题目链接 首先,按照题意,把前$60$个素数打出来$[2$ $-$ $281]$. 因为只有$60$个,再加上本宝宝极其懒得写线性筛于是每一个都$O(\sqrt{n})$暴力筛就好了. 代码如下: # ...