青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 195,  comments - 30,  trackbacks - 0

Tug of War


Status In/Out TIME Limit MEMORY Limit Submit Times Solved Users JUDGE TYPE
stdin/stdout 15s 8192K 479 114 Standard

A tug of war is to be arranged at the local office picnic. For the tug of war, the picnickers must be divided into two teams. Each person must be on one team or the other; the number of people on the two teams must not differ by more than 1; the total weight of the people on each team should be as nearly equal as possible.

The first line of input contains n the number of people at the picnic. n lines follow. The first line gives the weight of person 1; the second the weight of person 2; and so on. Each weight is an integer between 1 and 450. There are at most 100 people at the picnic.

The input may contain several test cases.

Your output will be a single line containing 2 numbers: the total weight of the people on one team, and the total weight of the people on the other team. If these numbers differ, give the lesser first.

Sample Input

3
100
90
200

Output for Sample Input

190 200


利用dp思想 ,n為偶數時求出s(n,n/2),n為奇數時 也是s(2n,n/2),和sum/2最接近的那個。非常經典的思路。
S(k, 1) = {A[i] | 1<= i <= k}
S(k, k) = {A[1]+A[2]+…+A[k]}
S(k, i) = S(k-1, i) U {A[k] + x | x屬于S(k-1, i-1) }
//一下代碼只能用于sum特別小的情況,否則會超時!!!!!!!!!!!
#include<iostream>
#include<cstdlib>
#define MAX 101
#define min(a,b) ((a)<(b) ? (a) : (b))
using namespace std;

  int main()
  {
  freopen("s.txt","r",stdin);
  freopen("key.txt","w",stdout);
  int num;
  int a[MAX],i,j,k,l,m,NUM;
  bool s[MAX][2500];
  while(cin>>num)
  {
  int sum=0;
    for(i=1;i<=num;i++)
   {
  cin>>a[i];
  sum+=a[i]; 
   }
   if(num%2==0)NUM=num/2;
   else NUM=num/2+1;

    for(i=0;i<=num;i++)
     for(j=0;j<=sum/2;j++)
      s[i][j]=false;//表示取i個物品能否達到重量是j.
     
   s[0][0]=true;
   for(k=1;k<=num;k++)//必須在最外層,元素不能重復
   for(j=min(k,NUM);j>=1; j--)//遞減的結果是使得不會出現在同一層次的互為因果 、、、、、、、、、、、巧妙的實現了課本上的序偶對生成法。
   for(i=a[k];i<=sum/2;i++)
   {
  if(s[j-1][i-a[k]])
  s[j][i]=true;
 }
 
 for(i=sum/2; i>=0; i--) {  
    if(s[NUM][i]) {  
        cout <<i<<" "<<sum-i<<endl;  
        break;  
    }  

  }
  //system("PAUSE");
  return   0;
  }
下一次實現一個序偶生成法。

#include <iostream>
#include <functional>
using namespace std;

int a[101];
bool b[101][45002];

int main(){
// freopen("s.txt","r",stdin);
//  freopen("key.txt","w",stdout);
    int N,M,i,j,k;
    while(scanf("%d",&N)!=EOF){
         memset(b,0,sizeof(b));
         a[0]=M=0;
        for(i=1;i<=N;i++){
             scanf("%d",a+i);
             M+=a[i];
         }
         b[0][0]=1;
        for(k=1;k<=N;k++){
            for(i=1;i<=N/2;i++){
                for(j=M/2;j>=0;j--){
                    if(b[i-1][j]){
                         b[i][j+a[k]]=1;
                     }
                 }
             }
         }
        for(i=M/2,j=M/2+1;i>=0;i--,j++){
            if(b[N/2][i]){
                 printf("%d %d\n",i,M-i);
                break;
             }
            if(b[N/2][j]){
                 printf("%d %d\n",M-j,j);
                break;
             }
         }
     }
    return 0;
}

posted on 2009-07-02 16:05 luis 閱讀(560) 評論(0)  編輯 收藏 引用 所屬分類: 動態規劃給我啟發題
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

文章分類

文章檔案

友情鏈接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩喷水| 国产日韩欧美成人| 亚洲欧洲在线视频| 亚洲国产成人tv| 欧美大胆人体视频| 一区二区电影免费观看| 99成人免费视频| 国产精品久久久久久久久| 亚洲欧美日韩一区二区在线 | 久久久成人网| 久久国内精品视频| 雨宫琴音一区二区在线| 91久久极品少妇xxxxⅹ软件| 欧美日本免费一区二区三区| 亚洲午夜精品久久久久久app| 亚洲一区二区三区精品在线观看 | 久久一区二区三区国产精品| 亚洲激情不卡| 亚洲视频一二区| 有坂深雪在线一区| 亚洲精品国产精品国自产观看浪潮 | 午夜久久久久久久久久一区二区| 亚洲永久免费观看| 亚洲成人中文| 亚洲视频你懂的| 亚洲高清一区二| 一区二区三区鲁丝不卡| 激情六月婷婷综合| 99re6热在线精品视频播放速度| 国产美女精品免费电影| 欧美福利专区| 国产欧美日韩一区| 亚洲人成在线播放网站岛国| 国产视频亚洲精品| 亚洲国产精品一区二区三区| 国产日韩精品一区二区三区| 亚洲激情成人| 韩日视频一区| 亚洲一区一卡| 亚洲手机成人高清视频| 久久五月天婷婷| 欧美一区二区三区精品电影| 欧美福利一区二区| 蜜桃久久精品一区二区| 国产精品久久久久久久电影 | 亚洲男女自偷自拍| 暖暖成人免费视频| 快射av在线播放一区| 国产精品久久9| 亚洲精品资源| 最新国产成人av网站网址麻豆| 性做久久久久久免费观看欧美| 亚洲狼人精品一区二区三区| 久久久噜噜噜久噜久久 | 亚洲高清在线| 久久精品国产一区二区电影| 亚洲免费影院| 欧美日韩久久不卡| 亚洲黄网站在线观看| 亚洲国产一成人久久精品| 久久精品最新地址| 久久午夜精品一区二区| 国产日韩av高清| 午夜精品久久久久久久久| 亚洲一区二区三区久久| 欧美日韩中文在线| 亚洲少妇最新在线视频| 亚洲一区高清| 国产精品专区第二| 亚洲欧美影音先锋| 久久精品国产96久久久香蕉| 国产亚洲综合在线| 久久精品在线免费观看| 欧美xart系列高清| 亚洲精品社区| 欧美日韩国产免费| 亚洲一区二区欧美日韩| 欧美影院久久久| 国产字幕视频一区二区| 久久久综合网站| 亚洲第一毛片| 中文精品视频一区二区在线观看| 欧美日韩一区在线| 亚洲欧美清纯在线制服| 久久精品首页| 亚洲激情视频在线播放| 欧美激情乱人伦| 亚洲一区二区三区高清不卡| 久久精品一区二区三区中文字幕| 在线观看国产欧美| 欧美精品久久99久久在免费线| 9人人澡人人爽人人精品| 午夜视频一区二区| 黄网站免费久久| 欧美日韩国产不卡在线看| 亚洲综合电影一区二区三区| 久久一二三区| 99在线精品免费视频九九视| 国产伦精品一区二区三区四区免费| 欧美在线一区二区| 亚洲精品视频一区| 久久国产一区| 亚洲免费观看高清在线观看| 国产美女一区| 欧美另类一区二区三区| 亚洲专区一二三| 最新国产成人av网站网址麻豆| 午夜精品在线| 亚洲精品美女免费| 国产色视频一区| 欧美日韩国产成人| 久久久一区二区三区| 一本色道久久88亚洲综合88| 久久亚洲精品视频| 亚洲一区在线播放| 亚洲人成人一区二区三区| 国产美女扒开尿口久久久| 欧美激情精品久久久久久变态| 亚洲免费在线看| 亚洲伦理一区| 欧美激情免费在线| 久久精品最新地址| 午夜在线播放视频欧美| 9人人澡人人爽人人精品| 在线播放亚洲一区| 国模大胆一区二区三区| 国产精品久久国产愉拍| 欧美精品在线观看一区二区| 欧美中文在线免费| 亚洲午夜性刺激影院| 亚洲美女电影在线| 欧美大片在线看| 欧美jizzhd精品欧美巨大免费| 久久久久国产成人精品亚洲午夜| 亚洲欧美在线磁力| 国产精品99久久久久久有的能看| 亚洲日本中文字幕| 最新中文字幕一区二区三区| 揄拍成人国产精品视频| 韩国一区二区三区在线观看| 国产欧美在线观看| 国产片一区二区| 国产精品一区二区你懂得| 国产精品日韩欧美综合| 国产精品视频自拍| 国产精品每日更新| 国产美女精品视频免费观看| 国产精品入口麻豆原神| 国产精品美女在线| 国产欧美一级| 国产一区二区三区在线观看精品 | 欧美精品粉嫩高潮一区二区| 久久影院亚洲| 欧美国产极速在线| 欧美精品福利视频| 欧美午夜激情小视频| 国产精品久久久久久久电影| 国产欧美一区二区三区在线看蜜臀| 国产精品亚洲综合久久| 国产日韩综合| 亚洲黄色毛片| 正在播放欧美一区| 亚洲欧美一区二区三区极速播放 | 亚洲精品国产精品乱码不99按摩 | 欧美一区二区三区免费看 | 亚洲人久久久| 亚洲午夜在线观看视频在线| 篠田优中文在线播放第一区| 久久久av毛片精品| 欧美激情一区二区三区在线视频 | 欧美二区在线观看| 亚洲精品国产精品国产自| 亚洲线精品一区二区三区八戒| 欧美中文字幕不卡| 欧美成人综合一区| 国产欧美精品在线| 亚洲黄色在线看| 亚洲一区在线看| 另类酷文…触手系列精品集v1小说| 亚洲第一区色| 午夜精品在线| 欧美精品一区在线发布| 国产老女人精品毛片久久| 亚洲黑丝一区二区| 先锋影音久久| 亚洲电影下载| 久久国产日韩| 国产精品啊v在线| 亚洲国产综合在线| 久久精品国产96久久久香蕉| 亚洲精品免费网站| 久久精品久久99精品久久| 欧美无砖砖区免费| 亚洲国产综合在线| 久久久精品欧美丰满| 99在线视频精品| 欧美xx69| 亚洲电影视频在线| 欧美一级视频精品观看| 日韩写真视频在线观看|