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

uva 10032 Problem F: Tug of War

时间:2014-10-13 02:54:08      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   for   sp   

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=973

bubuko.com,布布扣
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define ll long long
 5 using namespace std;
 6 
 7 int w[5000];
 8 int n;
 9 ll dp[50000];
10 
11 int main()
12 {
13     int t;
14     scanf("%d",&t);
15     while(t--)
16     {
17         scanf("%d",&n);
18         int sum=0;
19         for(int i=0; i<n; i++)
20         {
21             scanf("%d",&w[i]);
22             sum+=w[i];
23         }
24         memset(dp,0,sizeof(dp));
25         dp[0]=1;
26         for(int i=0; i<n; i++)
27         {
28             for(int j=sum; j>=w[i]; j--)
29             {
30                 dp[j] |= dp[j-w[i]]<<1;
31             }
32         }
33         int ans1=0,ans2=0x3f3f3f3f;
34         for(int i=0; i<=sum; i++)
35         {
36             for(int j=0; j<=(n+1)/2; j++)
37             {
38                 if(dp[i]&(1ll<<j) && abs(2*j-n)<=1)
39                 {
40                     if(abs(sum-2*i)<ans2-ans1)
41                     {
42                         ans2=max(sum-i,i);
43                         ans1=min(sum-i,i);
44                     }
45                 }
46             }
47         }
48         printf("%d %d\n",ans1,ans2);
49         if(t) printf("\n");
50     }
51     return 0;
52 }
View Code

 

uva 10032 Problem F: Tug of War

标签:style   blog   http   color   io   os   ar   for   sp   

原文地址:http://www.cnblogs.com/fanminghui/p/4021345.html

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