中石油訓練賽十 天平

2021-10-01 11:51:14 字數 1569 閱讀 6127

莫名感覺這道題和找零錢是一樣一樣的,便於記憶情況下,還是給寫一下比較好

簡單思路:貪心,要使右盤所放砝碼最少,則要從較大質量的砝碼開始放起。小 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個值,就是答案了,可惜的是...