科協招新題目C 金字塔上的蝸牛

2021-07-06 04:41:52 字數 1922 閱讀 5497

c

金字塔上的蝸牛

problemdescription

場景一:

從前有乙個勤奮的蝸牛叫小蝸,他有乙個夢想—去埃及金字塔的頂端看一下,於是他就央求鷹哥哥帶他到金字塔上去,鷹哥說:」老弟啊,不是哥不幫你?你這可是單程票啊。金字塔老高了,有n層呢」。小蝸說:人總歸是要有夢想的,沒有夢想跟鹹魚有什麼區別?於是他就帶了n包士力架,坐上了前往金字塔的航班。

場景二:

蝸牛來到了金字塔的 1層,於是他開始了征戰金字塔。已知,蝸牛每天可以下滑1層、保持原有高度、向上爬1層。維持原高度和向上爬,每次都要消耗蝸牛的能量,每次都要通過吃一根士力架來補充體力。下滑不需要能量。問士力架恰好剩1根的時候,蝸牛還苦逼的呆在金字塔的1層的全部可能性。

input

輸入資料n(0output

輸出蝸牛每天所在的金字塔的樓層,每個資料間用空格分離,每種可能情況佔一行。

sampleinput

sampleoutput

11 1

12 1 1

11 2 1

12 1 2 1

12 2 1

12 3 2 1

在每一層,蝸牛都有下滑、保持和向上的選擇。

可以想象蝸牛面臨有三條路的岔路口,每條路又會三條路的岔路口

要走完所有路然後判斷是否符合要求

蝸牛爬金字塔的所有情況分為三種,

選擇

能量

樓層

下滑

0

-1

保持

-1

0

向上

-1

1
能量大於等於1且樓層大於等於1時進行選擇路徑如果能量小於1或者樓層小於1,超出範圍,那麼這乙個選擇不能完成題目要求,說明該岔路口不通,結束該條路,換上個岔路口走能量等於1而且樓層等於1時,符合題意,輸出足跡,結束這條路,走上個岔路口

足跡的儲存通過陣列,採用計數變數實現足跡可以退回

#include "stdio.h"

int step[16];

//分而治之,遞迴

//能量,層數,遞迴的級數

科協招新題目B 分割

b 分割problemdescription 輸入一行數字,如果我們把這行數字中的 9 都看成空格,那麼就得到一行分割的若干非負整數 可能有些整數以 0 開頭,這些頭部的 0 應該被忽略掉,除非這個整數就是由若干個 0 組成的,這時這個整數就是0 input 輸入包含多組測試用例,每組輸入資料只有一...

科協預招新0x02

恭喜大家通過了智慧型車的預招新 以下是第二次的小作業,希望在一月前上交相應學長。硬體部分在完成原理圖以及pcb設計後,聯絡學長,帶你去完成,一款從畫圖到成品都由你親手製作的腐蝕電路板,實現相應的功能。想想就有成就感 使用微控制器 51,32都可,不限制微控制器型別 分別實現功能。若對題目有疑問可以聯...

2012軟微科協c 組招新試題答案

a.char const p b.char const p c.const char p d.const char p 選 d 1 int foo int a,int b 2 則呼叫 foo 1,2 3,4 的結果為 a.4 b.10 c.7 d.6 1 include 2 int main 3 a...