1. 程式人生 > >NYOJ--456--郵票分你一半

NYOJ--456--郵票分你一半

郵票分你一半

時間限制:1000 ms  |  記憶體限制:65535 KB 難度:3
描述
     小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小(就是小珂得到的郵票分值和與小明的差值最小),現在每張郵票的分值已經知道了,他們已經分好了,你知道最後他們得到的郵票分值和相差多少嗎?
輸入
第一行只有一個整數m(m<=1000),表示測試資料組數。
接下來有一個整數n(n<=1000),表示郵票的張數。
然後有n個整數Vi(Vi<=100),表示第i張郵票的分值。
輸出
輸出差值,每組輸出佔一行。
樣例輸入
2
5
2 6 5 8 9
3
2 1 5
樣例輸出
0
2

思路:無腦01揹包,價值和重量是一個數組,求出一半重量下的最大價值即可。

ac程式碼:

#include<stdio.h>
#include<string.h>
#define max(a,b) (a>b?a:b)
int dp[1010*1010];
int main(){
	int Tcase;
	scanf("%d",&Tcase);
	while(Tcase--){
		int n,value[1010],sum=0;
		scanf("%d",&n);
		for(int i=0;i<n;i++){
			scanf("%d",&value[i]);
			sum+=value[i];
		}
		int adv=sum/2;	
		memset(dp,0,sizeof(dp));
		for(int i=0;i<n;i++){
			for(int j=adv;j>=value[i];j--)
				dp[j]=max(dp[j],dp[j-value[i]]+value[i]);
		}
		printf("%d\n",sum-2*dp[adv]);
	}
	return 0;
} 


相關推薦

NYOJ--456--郵票一半

郵票分你一半 時間限制:1000 ms  |  記憶體限制:65535 KB 難度:3 描述     小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些

NYOJ 456 郵票一半

郵票分你一半 時間限制:1000 ms | 記憶體限制:65535 KB 難度:3 描述 小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他

NYOJ456-郵票一半

個人資訊 就職: 聚項資訊科技有限公司 職位:中級Java開發工程師 負責:上汽系統開發與維護 院校:河南理工大學 專業:軟體工程12級 郵箱:[email protected] Q Q :10101000101001010111 1101111010

nyoj 94-cigarettes (清楚,那一部分的cigarettes是用過的,那一部分是沒有用過的)

emp code ping using num 內存 integer lin size 94-cigarettes 內存限制:64MB 時間限制:3000ms 特判: No

針網——IT教育:說一說 React 和 Redux 知道或者不知道的一些事情

React Redux 本文介紹一下自己在使用React和Redux過程中的一些思考,主要面向初學者。 1. 為什麽要有redux 傳統前端開發中,把模板和功能邏輯分開作為

分鐘教學會 ToolBar 的使用(轉)

window map pri end case instance em1 oom title 轉自:http://blog.csdn.net/itguangit/article/details/52042203 1.和平常一樣,新建一個Moudle 在xml布局文件中使用

4張圖讓看懂布式架構從硬件到軟件

開發 基本 行處理 倉庫 tcp -1 管理 img 必須 對於分布式的架構相對很多開發者都是個高大上的項目,其實只要看得懂圖精通tcp通信、精通磁盤管理、精通內存管理、精通多線程與並行處理,精通事務(其實事務就是基於tcp通信層所擴展而來的MQ之類的一種IO消息模式而與)

Linux面試試題寶典,能打多少?大神勿進

linux面試試題linux面試寶典(1)一、選擇題1. Linux系統中DNS服務進程名為 ( )A.named B.httpd C.ftpd D.SysLog2.在UINX/Linux中,系統Root用戶口令信息一半保存的文件夾是( )A.autobat B.service.conf C.in

怎樣找對還有一半---第二章 找對象 什麽能讓放心

track 第二章 帶來 處理 洞察力 載體 統帥 have 危機 第二章 找對象 什麽能讓你放心 第一節 司馬光的“才德理念” 才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝得謂之小人 -------司馬光

分鐘帶理解單例

__name__ col ins 導致 per pre 服務 內容 pri 單例模式的講解以及用處 什麽是單例模式用處何在? 答:單例模式(Singleton Pattern)是一種常用的軟件設計模式,該模式的主要目的是確保某一個類只有一個實列存在,當你希望整個系統中只

利用新浪博客做站群提權 看了分鐘也會

SEO優化的過程中網站的權重是關鍵詞排名不可或缺的因素,為了提升網站的權重SEOer通常會利用第三方平臺的高權重為SEO所用,今天給大家講一個關於新浪博客站群的概念以及具體的操作方法。 顧名思義新浪博客站群分解開來通俗點來說就是新浪博客的集群,也就是把一定數量的新浪博客聚集在一起形成一個類似

勞包基用對辦收科支我為作書叫今辦

bad ddb htm ntp acc b2b jti article acea 壯院樸蘋鋼OXV侶載拾漣http://baobao.baidu.com/article/b8cae1985845d1438ccaf04c36b42f5a.html?5199/3F=NdLNR

秋季高二提直播課 | 五大學科名師助備戰期中考試

你是 掌握 是否 要掌握 疑難雜癥 方法 技術分享 src 知識 轉眼本學期又過了一半 你是否還在苦惱成績一直原地踏步不見起色? 你是否在尋求輕松而高效的學習方法? 你是否還在毫無頭緒的準備期中考試? 如果以上你都不幸中招 那麽你急需改變的是學習方法 你需要梳理知識點並

三:在線工具網站,讓PC上要裝的軟件少一半

一半 開始 高效 美工 添加 之間 lar photo hellip 記住這幾個在線工具網站,讓你PC上要裝的軟件少一半! 一、uzer.me——豐富的雲端應用聚合 這個雲平臺將我們常用的Office系列軟件、Adobe家族的系列軟件&h

電腦配置太低?使用這幾個網站,的電腦軟件要少裝一半

atp 一周 即使 exc 你們的 不用 過多 電腦軟件 提升 你還在為你的電腦配置太低導致軟件過多而卡頓感到煩惱?還是電腦遊戲太多,無法運行一些其他軟件而不開心?其實不用難過,小編教你們使用一些在線網站,可以輕松的將你的電腦上的軟件少安裝一半!你們準備好了嗎! 一.創客

檢測所有磁盤區使用率和inode使用率,當發現某區容量或者inode量大於85%時,發郵件通知

去重復 als 情況下 匯總 追加 含義 date 沒有 var 寫一個shell腳本,檢測所有磁盤分區使用率和inode使用率並記錄到以當天日期為命名的日誌文件裏,當發現某個分區容量或者inode使用量大於85%時,發郵件通知你自己。思路:1、就是先df -h 然後過濾出

檢測所有磁盤區使用率和inode使用率,當發現某區容量或者inode量大於85%時,發郵件通知

自己 和數 int 符號 磁盤分區 var 思路 發現 博客 監控磁盤使用率寫一個shell腳本,檢測所有磁盤分區使用率和inode使用率並記錄到以當天日期為命名的日誌文件裏,當發現某個分區容量或者inode使用量大於85%時,發郵件通知你自己。思路:1、就是先df -h

阿裏P8架構專家帶透析布式架構

java 分布式 架構 什麽是分布式系統 分布式系統是由一組通過網絡進行通信、為了完成共同的任務而協調工作的計算機節點組成的系統。分布式系統的出現是為了用廉價的、普通的機器完成單個計算機無法完成的計算、存儲任務。其目的是利用更多的機器,處理更多的數據。 首先需要明確的是,只有當單個節點的處理能力無

Win10系統解決C盤區限制一半的問題

targe HR 軟件 部分 分區 blank 新的 c盤 鏈接 1,按照網上的方法還不行,如鏈接 2,安裝如下軟件,裏面有激活碼,鏈接 鏈接:https://pan.baidu.com/s/14ifYpnCMGwJIbgykTYQR6Q 密碼:whh3 3,安裝並激活 4