码迷,mamicode.com
首页 > 其他好文 > 详细

51NOD 1400 序列分解

时间:2015-07-26 09:45:44      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

传送门:序列分解

基准时间限制:1s  空间限制:131072KB
         
 

小刀和大刀是双胞胎兄弟。今天他们玩一个有意思的游戏。 大刀给小刀准备了一个长度为n的整数序列。小刀试着把这个序列分解成两个长度为n/2的子序列。

这两个子序列必须满足以下两个条件:

1.他们不能相互重叠。

2.他们要完全一样。

如果小刀可以分解成功,大刀会给小刀一些糖果。

然而这个问题对于小刀来说太难了。他想请你来帮忙。

Input
第一行给出一个T,表示T组数据。(1<=T<=5)
接下来每一组数据,输入共2行。
第一行包含一个整数n (2<=n<=40且为偶数)。
第二行给出n个整数a[0],a[1],a[2],…,a[n-1]表示大刀给小刀准备的序列。(-1,000,000,000<=a[i]<=1,000,000,000)
Output
如果小刀可以完成游戏,输出"Good job!!" (不包含引号),否则 输出"What a pity!" (不包含引号)。
Input示例
2
4
1 1 2 2
6
1 2 3 4 5 6
Output示例
Good job!!
What a pity!

贴代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int a[50], N, x[50], y[50];
 4 bool dfs(int i, int j, int k){
 5     bool res;
 6     if(k>N) return true;
 7     if(i>N>>1){
 8         return a[k]==x[j]?y[j]=a[k], dfs(i, j+1, k+1):false;
 9     }
10     if(j>N>>1){
11         return a[k]==y[i]?x[i]=a[k], dfs(i+1, j, k+1):false;
12     }
13     if(i==j){
14         x[i]=a[k];
15         if(dfs(i+1, j, k+1)) return true;
16         y[j]=a[k];
17         return dfs(i, j+1, k+1);
18     }
19     if(i>j){
20         res = x[j]==a[k]?y[j]=a[k],dfs(i, j+1, k+1):false;
21         if(res) return res;
22         return x[i]=a[k],dfs(i+1, j, k+1);
23     }
24     if(j>i){
25         res = y[i]==a[k]?x[i]=a[k],dfs(i+1, j, k+1):false;
26         if(res) return res;
27         return y[j]=a[k],dfs(i, j+1, k+1);
28     }
29 }
30 int main(){
31     //freopen("in", "r", stdin);
32     int T;
33     scanf("%d", &T);
34     while(T--){
35         scanf("%d", &N);
36         int res=0;
37         for(int i=1; i<=N; i++) scanf("%d", a+i), res^=a[i];
38         if(res){
39             puts("What a pity!");
40             continue;
41         }
42         x[1]=a[1];
43         puts(dfs(2, 1, 2)?"Good job!!":"What a pity!");
44     }
45     return 0;
46 }

 


51NOD 1400 序列分解

标签:

原文地址:http://www.cnblogs.com/Patt/p/4677136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!