莫名感覺這道題和找零錢是一樣一樣的,便於記憶情況下,還是給寫一下比較好
簡單思路:貪心,要使右盤所放砝碼最少,則要從較大質量的砝碼開始放起。小 t 到 cz 中學上的第一堂課是物理課,第一堂課 l 老師就把大家帶到創新實驗室去 做實驗了,實驗的內容是天平稱物。眾所周知天平是物理實驗室中的一種衡量物體質量的 儀器,它依據槓桿原理製成,在槓桿的兩端各有乙個小盤,一端放砝碼,另一端放要稱的 物體,槓桿**裝有指標,兩端平衡時,意味著兩端的質量相等。這些道理對學過初中物 理的人來說已經是老生常談了,小t原以為這次實驗跟初二做過的不會有太大區別,但當 他一走進創新實驗室,就立即被眼前堆得跟小山一樣的砝碼震住了,小t走上前去拿出幾 個砝碼看了一下,發現所有砝碼上標明的質量均為 2 的冪次:1g,2g,4g,8g,16g,32g 等等, 這下小t徹底被雷到了,心想這是物理實驗室嗎?怎麼跟計算機中的二進位制表示那麼相似 呢? 正當小 t 想得出神,l 老師已經在大聲催促同學們座到指定位置上去做實驗了,小 t 和同桌小s兩人一組很快就把桌上幾個物體的質量用天平稱出來了,抬頭一看周圍的同學 還都在忙碌著,小 t 就對小 s 說:「我們來做個遊戲好不好?」小 s 說:「做什麼遊戲?」 小t說:「很簡單,我隨意抓一把些砝碼放到天平的左端,你要在天平的右端放置最少數 量的砝碼使得天平平衡。」小 s 說:「沒問題,那我們就開始吧!」遊戲開始後,小s發現 當小t放上去的砝碼個數較多且相同質量的砝碼有多個時有點難辦,於是他就找到了會程式設計的你,希望你幫他處理這個問題。
輸入輸入資料共有兩行,第一行包含乙個正整數 n,表示小 t 一共抓了 n 個砝碼放到了天 平的左端,
第二行有 n 個用空格隔開的正整數 表示每個砝碼的質量,每個砝碼的質量都是 2 的冪次,即等於若干個 2 連乘的積,如 8 等於 3 個 2 連乘的積,64 等於 6 個 2 連乘的積,1024 等於 10 個 2 連乘的積等等,特別地我們規定 1 也是 2 的冪次。
輸出輸出資料僅有一行包含乙個正整數表示小 s 最少要在天平的右端放置幾個砝碼,cz 中 學的物理創新實驗室裡只有質量為 2 的冪次的砝碼,並且每種砝碼都取之不盡用之不竭。
樣例輸入
28 8
樣例輸出
1ac**
#include
#include
using
namespace std;
typedef
long
long ll;
ll fun
(ll t)
bool
cmp(ll x,ll y)
ll a[33]
,veg[
10002];
ll slove
(ll v)
if(v>0)
num=-1
;return num;
}int
main()
sort
(a,a+
31,cmp)
;scanf
("%lld"
,&n)
;for
(i=0
;i)printf
("%lld"
,slove
(sum));
return0;
}
中石油訓練賽 招待 思維
題目大意 給出乙個天平,砝碼由3的冪次組成,再給出物品重量,求如何擺放砝碼能使得天平平衡 題目分析 既然給出的砝碼是3的冪次組成,那麼我們就將給出的物品重量轉換為三進製即可,那麼表示其每一位只有可能是0,1,2三個數字,我們假設物品擺在a盤,那麼 當前位數字為0,就說明該冪次沒有貢獻,所以不做處理 ...
中石油訓練賽 姓氏 思維 水題
在乙個很大的課室裡,裡面有很多學生在聽課。l老師挑選了其中的n個不同的學生起立回答問題,l老師對起立的每乙個學生都是問同樣的問題 在本課室裡,和你同姓的學生有多少人 不包括你自己 這n個起立的同學的回答如下 第1位起立的同學回答 和我同姓的,除了我之外,本課室裡還有a 1 個學生。第2位起立的同學回...
中石油訓練賽 小說 最短路 二分
題目大意 給出乙個無環無向圖,以及k,定義答案是點1到點n的任意一條路徑上,所經過的所有邊的權值中的第k大值,求答案的最小值。題目是中文題面,沒看懂大意可以直接去看原題目。題目分析 因為是要求權值中的最值,不是求最短路是多少,所以一開始想到的是最小生成樹,然後從大到小減去k個值,就是答案了,可惜的是...