还是日语,解释题目: 1到10编号的10个球从容器A掉下,可掉入筒B或筒C中 要求:筒B和筒C中球的号码由大到小 Sample Input 2 3 1 4 2 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1
 
Output for the Sample Input YES NO 我们只要关注筒中号码最大的那个就行了
 
#include<iostream>
#include<cstring>
using namespace std;
int a[12],bo;
void dfs(int b,int c,int i)//b中最大的号码,c中最大的号码
{
 if(bo) return;
 if(i>10) 
 {
  bo=1;
  return ;	
 }
 if(b<a[i]) dfs(a[i],c,i+1);
 if(c<a[i]) dfs(b,a[i],i+1);
}
int main()
{
 int t;
 cin>>t;
 while(t--)
 {
 	for(int i=1;i<=10;i++)
 	 cin>>a[i];
 	bo=0;
	(dfs(0,0,1));
	if(bo) cout<<"YES"<<endl;
	else cout<<"NO"<<endl;
 }
 return 0;
}