Aizu - 0033(深搜)
来源:互联网 发布:linux less 向上查找 编辑:程序博客网 时间:2024/06/07 07:26
题目链接:点击打开链接
解析:
深搜。用vis数组做标记,1的代表第一个数组,0的代表第二个数组。通过dfs生成第一个递增的数组,然后检查余下数字组成的第二个数组。
完整代码:
#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath>#include <vector>#include <map>#include <stack>using namespace std;const int maxn = 10001;int a[maxn];int vis[maxn];void dfs(int pre , int cur){ if(cur < 10 && a[pre] < a[cur]) { vis[cur] = 1; dfs(cur , cur + 1); } else if(cur < 10 && a[pre] > a[cur]){ dfs(pre , cur + 1); }}int main(){ #ifdef DoubleQ freopen("in.txt" , "r" , stdin); #endif // DoubleQ int n; cin >> n; while(n --){ for(int i = 0 ; i < 10 ; i ++){ cin >> a[i]; } bool flag = false; for(int i = 0 ; i < 10 ; i ++){ memset(vis , 0 , sizeof(vis)); vis[i] = 1; dfs(i , i + 1); int pre = 0; for(int j = 0 ; j < 10 ; j ++){ if(vis[j] == 0){ if(pre > a[j]){ flag = true; break; } else pre = a[j]; } } if(!flag){ cout << "YES" << endl; break; } } if(flag) cout << "NO" << endl; }}
0 0
- Aizu - 0033(深搜)
- Aizu - 0118(深搜)
- Aizu-0033 Ball
- Aizu 0189 (Floyd)
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu
- Aizu-0118 Property Distribution(深搜)
- Aizu 2249 Road Construction(SPFA)
- Aizu 0189 (floyd最短路)
- Aizu ALDS1_1_A Insertion Sort(插入排序)
- iOS中为控件设置颜色渐变和透明度渐变
- 欧拉项目第18题Maximum path sum I
- CarouselViewPager实现ViewPager的轮播效果
- WebP 探寻之路
- js 继承
- Aizu - 0033(深搜)
- 驱动1
- js 文件提交
- Multiple markers at this line @Override的解决方法
- JNI_Android项目中调用.so动态库实现详解(初探)
- react-native Navigator 填坑
- linux系统启动过程详解-开机加电后发生了什么 --linux内核剖析(零)
- Xcode因为证书问题经常报的那些错
- Composer自动加载机制源码剖析