Ball Aizu - 0033 DFS搜索

白书上的一题,因没判好范围把自己WA翻

#include<iostream>
#define ll long long
using namespace std;
ll n,flag;
ll arr[105];
void dfs(ll x,ll y,ll cnt){
    if(cnt==11){
        flag=1;
        return;
    }
            if(arr[cnt]>x) dfs(arr[cnt],y,cnt+1);
            if(arr[cnt]>y) dfs(x,arr[cnt],cnt+1);
    return;
}
int main(){
    cin>>n;
    while(n--){
        for(ll i=1;i<=10;i++) cin>>arr[i];
        flag=0;
        dfs(0,0,1);
        if(flag) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

 

上一篇:C语言打砖块小游戏


下一篇:马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作(转)