ZZULIoj 2174: 小XX的QQ号 ( DFS
来源:互联网 发布:荧光字体软件下载 编辑:程序博客网 时间:2024/05/18 10:48
2174: 小XX的QQ号
Description
一天GJJ去超市购物,一位发传单的小姐姐给了他一张名片;GJJ看到名片上有小姐姐的QQ号,特别激动心想能不能将它分解成两段子序列,完全一样又不互相重叠呢(长度为总长度一半)?
Input
多实例,每次第一行给出一个T,表示T组数据,如果T=0,则表示结束。
接下来每一组数据,第一行一个整数n (2<=n<=30且为偶数)。
第二行输入n个整数;
Output
如果可以输出“竟然还有这种操作”,否则输出“没有这种操作”;输出占一行
Sample Input
284 2 8 4 9 2 8 981 2 3 4 5 6 7 80Sample Output
Sample Output
竟然还有这种操作没有这种操作
Hint
第一个样例可以分解成两个完全一样的子序列 4 2 8 9和4 2 8 9;
题解:
比赛时候上来就开这道题 结果直接跪了快一个小时 下来发现题意都没理解额对啊啊
两个子链应该是 位置在原序列里面不变的 这样就好办了 我们可以跑个DFS
AC代码
#include <bits/stdc++.h>using namespace std;#define CLR(a,b) memset(a,(b),sizeof(a))const int N = 1e3;int arr[N], brr[N], crr[N];bool flag;int n;void dfs(int pos, int len1, int len2, int st){ if(len1>n/2+1 || len2>n/2+1 || flag) return ; if(len1==n/2+1 && len2==n/2+1) { flag = true; return ; } if(pos == 1) { brr[1] = arr[1]; dfs(pos+1, len1+1, len2, st); } else { if(arr[pos] == brr[st]) { //说明遇到重复的了 改插到第二个序列里面了 crr[len2] = arr[pos]; dfs(pos+1, len1, len2+1, st+1); } brr[len1] = arr[pos]; dfs(pos+1, len1+1, len2, st); }}int main(){ int T; while(~scanf("%d",&T),T) { while(T--) { scanf("%d",&n); for(int i = 1; i <= n; i++) scanf("%d",&arr[i]); flag = false; dfs(1, 1, 1, 1); if(flag) puts("竟然还有这种操作"); else puts("没有这种操作"); } }return 0;}
阅读全文
2 0
- ZZULIoj 2174: 小XX的QQ号 ( DFS
- 【zzuliOJ】1907 - 小火山的宝藏收益(dfs)
- 【zzuliOJ】1908 - 小火山的围棋梦想(dfs)
- zzulioj 1908 小火山的围棋梦想(思维+dfs)
- ZZULIOJ 1908: 小火山的围棋梦想 (DFS)
- zzuliOJ 1907:小火山的宝藏收益(链表+DFS)
- zzulioj 1908: 小火山的围棋梦想 (dfs)
- zzulioj-1907-小火山的宝藏收益【DFS】
- 【ZzuliOJ 1908】小火山的围棋梦想(DFS/BFS)
- zzuliOJ 1908:小火山的围棋梦想(DFS+小思维)
- ZZULIOJ/ 郑轻 OJ 1908: 小火山的围棋梦想(DFS,题型模板)
- zzulioj-1908-小火山的围棋梦想【DFS】(好题)
- zzuliOJ 1907:小火山的宝藏收益(链表+DFS+思维)
- ZZULIOJ 1801 xue姐的小动物
- 【zzulioj 1913 小火山的计算能力】
- zzulioj 1913: 小火山的计算能力
- ZZULIOJ 1913: 小火山的计算能力
- zzulioj -- 小火山的跳子游戏
- Javaweb的过滤器
- 未来五年会发生什么科技盛宴
- 148. Sort List
- maven 连同依赖打成jar包
- 详解Java的MyBatis框架中的事务处理
- ZZULIoj 2174: 小XX的QQ号 ( DFS
- 【RabbitMQ】——Hello World Demo
- redis 密码设置
- 进制-ASCLL-UNICODE问题
- 树
- 关于theano和keras的一些安装总结
- 题目1037:Powerful Calculator
- Unity3D添加视频文件
- STM32驱动LCD12864显示屏