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

hdu 1518 Square(深搜+剪枝)

时间:2014-07-31 09:38:55      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   ar   

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1518

题目大意:根据题目所给的几条边,来判断是否能构成正方形,一个很好的深搜应用,注意剪枝,以防超时!

 1 #include <iostream>
 2 #include <cstdio>
 3 #include<algorithm>
 4 #include <cstring>
 5 using namespace std;
 6 int ap[30],visit[30];
 7 int l,n;
 8 int dfs(int len,int gen,int iqq)
 9 {
10     if (gen==3)
11         return 1;
12     for(int i=iqq; i<n; i++)
13     {
14         //cout<<visit[len]<<endl;
15         if (!visit[i])
16         {
17             visit[i]=1;
18             if (len+ap[i]==l)
19             {
20                 //cout<<len<<endl;
21                 if(dfs(0,gen+1,0))
22                     return 1;
23             }
24             else if (len+ap[i]<l)
25             {
26                 //cout<<len<<endl;
27                 if(dfs(len+ap[i],gen,i)) return 1;
28             }
29             visit[i]=0;
30         }
31     }
32     return 0;
33 }
34 int main ()
35 {
36     int t,sum;
37     while (cin>>t)
38     {
39         while (t--)
40         {
41             cin>>n;
42             sum=0;
43             //Max=0;
44             for (int i=0; i<n; i++)
45             {
46                 cin>>ap[i];
47                 sum+=ap[i];
48             }
49             memset(visit,0,sizeof(visit));
50             sort(ap,ap+n);
51             if (sum%4==0&&n>=4&&ap[n-1]<=sum/4)
52             {
53 
54                 l=sum/4;
55                 if (dfs(0,0,0))
56                     printf ("yes\n");
57                 else
58                     printf ("no\n");
59                 //cout<<n<<endl;
60             }
61             else printf ("no\n");
62         }
63     }
64 }

 

hdu 1518 Square(深搜+剪枝),布布扣,bubuko.com

hdu 1518 Square(深搜+剪枝)

标签:style   blog   http   color   os   io   for   ar   

原文地址:http://www.cnblogs.com/qq-star/p/3879848.html

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