練習2部分題解

2022-09-03 22:03:21 字數 2710 閱讀 1426

問題 g: 汽水瓶

時間限制:

1 sec 記憶體限制: 128

mb提交:

93 解決: 45

201501010119

提交狀態討論版

題目描述

有這樣一道智力題:「某商店規定:三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?」答案是5瓶,方法如下:先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以後用3個空瓶子換一瓶滿的還給老闆。如果小張手上有n個空汽水瓶,最多可以換多少瓶汽水喝?

輸入 輸入檔案最多包含10組測試資料,每個資料佔一行,僅包含乙個正整數n(

1<=n<=100),表示小張手上的空汽水瓶數。n=0表示輸入結束,你的程式不應當處理這一行。

輸出 對於每組測試資料,輸出一行,表示最多可以喝的汽水瓶數。如果一瓶也喝不到,輸出0。

樣例輸入 copy 310

810樣例輸出 copy 15

40

看樣例:輸入10,9個瓶子換三瓶可以喝的汽水=》n=10/3=3;  現有的空瓶子=喝掉的三瓶(變為空瓶子)+剩下的乙個空瓶=》10/3+10%3=4;四個空瓶子取三個還可以換飲料,發現回到了最初的步驟:擁有的空瓶子數量/3;

直到擁有的空瓶子剩下兩個,向老闆接借乙個(+1),除以3就兌換完汽水啦~

其實吧,想要更簡單的**就直接觀察樣例,發現答案就是輸入的n除以2(當然是計算機裡的整除)

#include using

namespace

std;

intmain()

cout

}

return0;

}

問題 h: 蜂房

時間限制:

1 sec 記憶體限制: 128

mb提交:

1 解決: 1

201501010119

提交狀態討論版

題目描述

有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。

其中,蜂房的結構如下所示。

(咳咳,圖不見了)

輸入 多組資料輸入,每組資料報含兩個正整數a, b,且 a

輸出 蜜蜂從蜂房a爬到蜂房b的可能路線數。

樣例輸入 copy 12

34樣例輸出 copy

11

一、a->b的路徑可以化歸於1->(b-a)的路徑情況

因為不能反向爬行,且只能爬右側相鄰蜂房,所以決定了可以化歸的特殊性(老師上課也講過了)

二、遞迴的思想

假設1->5,反過來看:到達5有兩個選擇,從3到達,或者從4到達,所以這個數量是由前面兩種情況決定的;那麼到達3也有兩種情況,要麼從1要麼從2;到達4同理;

所以我們得到乙個規律,要到達的目的地數量由前兩種方法決定;

所以這也是遞迴的核心;

而遞迴的終止條件是:1->1;1->2;1->3;

#include using

namespace

std;

int f(intn)}

intmain()

return0;

}

問題 k: 骨牌覆蓋

時間限制:

1 sec 記憶體限制: 128

mb提交:

0 解決: 0

201501010119

提交狀態討論版

題目描述

用大小為1×2的骨牌鋪滿乙個大小為2×n的長方形方格,編寫乙個程式,輸入n,輸出鋪放方案總數。例如,輸入n=3

,即大小為2×3的方格,輸出3。3種骨牌鋪放方案如下圖所示:

輸入 多組測試用例,每一組是乙個正整數。

輸出 每組輸出佔一行。

只需要輸出鋪放方案總數,不需要輸出具體的鋪放方案。

樣例輸入 copy

3樣例輸出 copy

3

這個題和上一題**其實差不多,主要也是找規律得到遞推式

n=1,n=2,n=3是可以直接得到的(已知條件);

從第四塊開始,放的磚塊有兩種情況了,要麼橫著放要麼豎著放,

橫著放有兩種放法,也就是f(2);

豎著放就只有一種放法,f(3);

兩種放法加起來就是f(4);

以此類推,每個n的方法都是建立在兩種情況下的,而每種情況又可以追溯到最初的已知條件,所以就直接遞迴咯

#include

usingnamespacestd;

intf(intn)

}

intmain()

return0;

}

}} 

intmain()

return0;

}

}

intmain()

return0;

}

牛客練習賽48 部分題解

b.小w的a b問題 思路 把階乘hash就行 include define ll long long using namespace std const int maxn 1e5 10,n 1e5 const int mod1 1e9 7,mod2 998244353 ll p1 maxn p2 ...

HDOJ WARMUP2 部分題解 不斷更新

1001 水題 1005 計算幾何 這是本人第一次寫計算幾何題,我還是覺得模板要用自己寫的,否則真是各種不舒服。首先考慮三點共線的情況,若第4個點在這個線段上,則為danger,否則safe 三點不共線的時候,果斷想外接圓,但byijie跟我說不對,因為鈍角三角形時,面積最小的圓應該是以長邊為直徑的...

cqoi2015部分題解

只做了前三題。t1 選數 先把題目轉化為求選n個數最大公約數為1,不用說了。假定f i 為選出n個數最大公約數為i的方案數。由於題目中有條件h l 10 5,所以i 10 5即可。令l l 1 i,r h i f i r l n sigma f a i r l 最後的r l為減去全部選擇乙個數的方案...