時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3 描述
小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小(就是小珂得到的郵票分值和與小明的差值最小),現在每張郵票的分值已經知道了,他們已經分好了,你知道最後他們得到的郵票分值和相差多少嗎?
輸入
第一行只有乙個整數m(m<=1000),表示測試資料組數。
接下來有乙個整數n(n<=1000),表示郵票的張數。
然後有n個整數vi(vi<=100),表示第i張郵票的分值。
輸出輸出差值,每組輸出佔一行。
樣例輸入
252 6 5 8 9
32 1 5
樣例輸出
02
題目詳解:這道題可以看成是01揹包問題,其中揹包容量m為總的郵票分值的一半,求出的b[m]為m可以裝的最大分值
**如下:
# includeint main();
int n,sum=0;
scanf("%d",&n);
for(int i=0;i=a[i];j--)
if(b[j]
當然這道題還可以用搜尋來做,即搜尋最接近總分值一半的數,但是會超時
**如下:
#include #include int a[21],sum,all,n,i,j,min;
void dfs(int star)
{ if(star==n)
return ;
if(fabs(all-sum*2)
郵票分你一半
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小 就是小珂得到的郵票分值和與小明的差值最小 現在每張郵票的分值已經知道了,他們已經分好了,你知...
郵票分你一半
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小 就是小珂得到的郵票分值和與小明的差值最小 現在每張郵票的分值已經知道了,他們已經分好了,你知...
郵票分你一半
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小 就是小珂得到的郵票分值和與小明的差值最小 現在每張郵票的分值已經知道了,他們已經分好了,你知...