ACM複習(37)10692 XYM 入門之道

2021-08-16 20:12:05 字數 1096 閱讀 3132

description

在華農的acm界中,也有一對聞名古今的雙胖師徒組合—xym和bm. bm**有乙個特殊的癖好,bm肚子很大,因為他很

喜歡吃西瓜,但是bm的嘴很小,一次只能吃下大小不超過k的西瓜。剛進門的xym為了能拜入bm大神的門下,他買來乙個大

小為n的巨型西瓜請bm大神吃。但這個西瓜太大了,bm是不可能一次就吃完的,於是他讓xym將西瓜切開。為了簡化問題,每切

一刀,大小為n的西瓜就為分成大小分別為n/2的兩塊小西瓜,如果n為奇數,則被分為一塊大小為n/2,一塊大小為(n/2 + 1)

的西瓜。(此處 「/」 為整除)

bm為了考驗下xym是否有資格成為他的徒弟,於是他就問xym,這個大小為n的西瓜他一共要吃多少次才能全部吃完?

可是xym要忙著切西瓜,於是他決定向你求助,你能幫他回答這個問題嗎?

輸入格式

第一行只有乙個正整數t,表示題目共有t組資料

接下來一共有t行, 每行有兩個正整數n, k,分別代表xym買來的西瓜的大小和bm一次能吃下最大的西瓜的大小。

(輸入資料保證n, k全部為正整數, 2<= n <=100000, 1<= k <= n-1)

輸出格式

對於每組資料每行輸出乙個整數,代表bm一共要吃多少次才把整個西瓜全部吃完。

輸入樣例

3 14 3

15 1

1024 5

輸出樣例

6 15

256提示

對於第一組資料:第一次切開後西瓜被分成兩塊大小為7的西瓜,對於每塊大小為7的西瓜再切一刀就變成了乙個大小為3和一塊大小

為4的西瓜,大小為3的bm就能直接吃掉了,然後對於大小為4的西瓜再切一刀,就變成兩塊大小為2的西瓜。這時一共有6塊西瓜,他

們的大小分別為2,2,2,2,3,3,所以bm一共要吃6次才能把西瓜全部吃完。

簡單分治,和 1142 巡邏的士兵 幾乎一樣

#include

intdiv(int n, int k);

int main()

return0;}

intdiv(int n, int k)

}

ACM複習(24)8623 龍龍

description 在比賽的時候,1y 1 次ac 是很值得高興的事情。但很多大牛總會因為很弱智的錯誤先wa 一次,再ac。而很多時候,這點罰時的差距使得他們與金牌無緣。弱智錯誤系列中最顯著的就是忘記加龍龍。龍龍外國人叫它作long long,表示64位整數,輸入與輸出64位整數則可以使用例如 ...

ACM複習(34)9519 偷吃

超牛和lyd最近買了好多零食啊,可是呢,因為龍教很貪吃,經常偷吃他們的東西。為了要讓龍教吃不到,他們想到了個方法,他們叫pkkj給他們n個箱子,然後他們就把箱子排成一列,把他們買回來的三種零食 包括薯片,果凍還有餅乾 放進那裡面。然後讓龍教猜箱子裡面的食物,只有兩次機會,猜不到就沒得吃。所以他們想讓...

ACM複習(45)10680 飛機

description 某國成立了乙個新的航空公司。該公司準備採購飛機來運營屬下的兩條航線a與b。他們聯絡了一些飛機製造商,這些製造商提供了他們飛機的資料。資料裡面記錄了每種飛機的載客量,以及他們飛航線a與航線b所需要的燃油量。通過市場調查,該公司摸清了兩條航線的日均客流量。已知該航空公司每日能夠採...