XDOJ 分配寶藏

2021-10-12 23:47:33 字數 1148 閱讀 7788

————————————

問題描述

兩個尋寶者找到乙個寶藏,裡面包含n件物品,每件物品的價值分別是w[0],w[1],…w[n-1]。

suma代表尋寶者a所獲物品價值總和,sumb代表尋寶者b所獲物品價值總和,請問怎麼分配才能使得兩人所獲物品價值總和差距最小,即兩人所獲物品價值總和之差的絕對值|suma- sumb|最小。

輸入說明

輸入資料由兩行構成: 第一行為乙個正整數n,表示物品個數,其中0輸出說明

對於每組資料,輸出乙個整數|suma-sumb|,表示兩人所獲物品價值總和之差的最小值。

輸入樣例

4

1 2 3 4

輸出樣例

#include

int dp[

205]

[20005]=

;int

main()

;int n,i,j,sum=0;

//輸入物品價值、容量、順便計算一下總價值

scanf

("%d"

,&n)

;for

(i=1

;i<=n;i++

)for

(i=1

;i<=n;i++

)// printf("\n");

}//這兩個printf語句我還保留在這裡,是因為它可以列印出非常整齊的**(滑稽if(

(sum-

2*dp[n]

[sum/2]

)>0)

printf

("%d"

,(sum-

2*dp[n]

[sum/2]

));else

printf

("%d",-

(sum-

2*dp[n]

[sum/2]

));//絕對值問題

return0;

}

XDOJ括號匹配

類別 字串處理 時間限制 2s記憶體限制 1000kb 問題描述 表示式中的合法括號為 這三種括號可以按照任意的次序巢狀使用。請寫乙個程式,判斷給定表示式中的括號是否匹配,既左右括號順序和數量都匹配。輸入說明 輸入為乙個表示式字串,長度不超過50。輸出說明 對輸入的表示式,若其中的括號是匹配的,則輸...

XDOJ快速排序

問題描述 採用快速排序演算法,排序輸入的n個整數,prvotkey 樞軸 每次選取陣列第乙個數。輸出快速排序第一趟排序的結果。輸入格式 輸入的第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數,空格隔開。輸出格式 按照要求排序後輸出,由空格分隔。樣例輸入 50 10 90 30 70 4...

XDOJ 複試篩選

標題 複試篩選 類別綜合 時間限制 1s記憶體限制 256kb 問題描述 考研初試成績公布後需要對m個學生的成績進行排序,篩選出可以進入複試的前n名學生。排序規則為首先按照總分排序,總分相同則按英語單科成績排序,總分和英語成績也相同時考號小者排在前面。現給出這m個學生的考研初試成績,請篩選出可以進入...