00时 00分 00秒

列车长的烦恼

列车长的烦恼

 
Time Limit : 1000 MS   Memory Limit : 65536 KB
 

Description

John是个小列车站的站长,每次列车在这里重新编组时他就很烦恼。因为站上只有一个人字形的编组轨道(如图),所有的列车车厢都是从人字轨的右边依次进去,从左边出来。但有一些编组顺序John总编不出来,John怀疑有些编组顺序是不可能完成的,可John又找不出那些是顺序是可以编组出,那些不可以。请你写一个程序帮助John辨别哪些编组可以完成,哪些不能完成。


输入:

第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例,每行为n+1个整数,第一个整数为n 表示有多少节车厢,后面n个整数表示需要编组成的顺序。比如说3节车厢,按照1,2,3依次入轨编组,可以在左边形成1 2 3,1 3 2,2 1 3,2 3 1,321。

 

 
输出:

每行输出一个测试用例的结果。如果可以编组输出Yes,否则输出No。

 

Sample Input

2 
3 3 1 2 
4 1 2 3 4 
 

Sample Output

No
Yes


参考代码:
#include<iostream>
using namespace std;
int a[1000];
int main()
{
   int n,m;
   cin>>n;
   while(n--)
   {
     cin>>m;
     for(int i=0;i<m;i++)
     {
        cin>>a[i];
     }
     bool flag=false;
     for(int i=0;i<m;i++)
       for(int j=i+1;j<m;j++)
          for(int k=j+1;k<m;k++)
          {

              if(a[i]>a[j]&&a[i]>a[k]&&a[k]>a[j])
              {
               flag=true;
               break;
              }
          }
          if(!flag)
            cout<<"Yes"<<endl;
       else
          cout<<"No"<<endl;
   }
   return 0;
}

 


posted @ 2015-03-15 21:36  杰克思勒(Jacksile)  阅读(589)  评论(0编辑  收藏  举报