zb的生日(搜索325)

題目描述

今天是陰歷七月初五,acm隊員zb的生日。zb正在和C小加、never在武漢集訓。他想給這兩位兄弟買點什么慶祝生日,經過調查,zb發現C小加和never都很喜歡吃西瓜,而且一吃就是一堆的那種,zb立刻下定決心買了一堆西瓜。當他準備把西瓜送給C小加和never的時候,遇到了一個難題,never和C小加不在一塊住,只能把西瓜分成兩堆給他們,為了對每個人都公平,他想讓兩堆的重量之差最小。每個西瓜的重量已知,你能幫幫他么?

輸入

多組測試數據(<=1500)。數據以EOF結尾
第一行輸入西瓜數量N (1 ≤ N ≤ 20)
第二行有N個數,W1, …, Wn (1 ≤ Wi ≤ 10000)分別代表每個西瓜的重量

輸出

輸出分成兩堆后的質量差

樣例輸入

5
5 8 13 27 14

樣例輸出

3

代碼:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;

int N;
int weight[25]; //每個西瓜的重量 
int total; //所有西瓜的總重量
int sum;  //目前選擇的總重量 
int res_min; //最終結果,最小的差 

void dfs(int x, int sum){   //決定第x個西瓜要不要,目前選擇的西瓜的總重量為sum 
    
    if(x == N)  //已經決定了N個西瓜了,完成任務,返回 
        return ;
        
    int t = abs(total - 2 * sum); //目前的差值 = 多的-少的 = (總-少)-少 = 總-2*少
    if(t < res_min) //更新最小差值
        res_min = t;
    
    dfs(x+1, sum); //遍歷不選擇第x個西瓜的情況,sum重量不變 
    dfs(x+1, sum+weight[x]);  //遍歷選擇第x個西瓜的情況 ,在sum上加上第x個西瓜的重量        
} 

int main()
{
    while(~scanf("%d",&N)){
        
        total=0;
        memset(weight, 0, sizeof(weight));
        for(int i=0; i<N; i++){
            scanf("%d",&weight[i]);
            total += weight[i];
        }
        
        sum = 0; //目前選擇的總重量為0 
        res_min = 999999;
        dfs(0,0); //決定了0個西瓜的選擇(即現在去決定第0+1=1個西瓜選不選),目前選擇的總重量為0 
        
        cout<<res_min<<endl;    
    }

    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內容

  • 一、實驗目的 學習使用 weka 中的常用分類器,完成數據分類任務。 二、實驗內容 了解 weka 中 explo...
    yigoh閱讀 8,618評論 5 4
  • 四年前的你,當知道自己過了二本線就不再對大學生活有多大的期待,七年前的你是知道自己過了中招線就不再太糾結曾經向往的...
    小猴不是猴閱讀 4,439評論 3 3
  • 擰個瓶蓋擰不開,但卻可以抱著十幾斤的你健步如飛 那么愛睡覺的我,現在竟然睡不了整覺,原因是媽媽得要不斷的醒來看看我...
    下天巴熊閱讀 321評論 0 0
  • 我們通常認為女人小氣,愛以小見大,容不得人。而男人大方,不拘小節。女人非常敏感,善于發現人或事物當中的細微差別,然...
    大魚王工閱讀 1,233評論 0 1
  • 2016年已經接近尾聲,在11月24日太子樂再度獲獎為2016年畫上了一個圓滿的句號。2016年太子樂都收到了哪些...
    巨猿泰坦閱讀 204評論 0 0