程式設計思維 小明一家如何過橋

2022-08-31 09:12:11 字數 1667 閱讀 4881

年輕人如果心存對未來的崇敬,對今天的認真踏實,對昨天的感恩,就會有機會。

-馬雲-

【問題區】

小明一家過一座橋,過橋時是黑夜,所以必須有燈。現在小明過橋要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的媽媽要8秒,小明的爺爺要12秒。每次此橋最多可過兩人,而過橋的速度依過橋最慢者而定,而且燈在點燃後30秒就會熄滅。

問:小明一家如何過橋?

【提示區】

要在最短的過橋時間內過橋,一定要讓考慮過橋消耗時間最長的兩個人同時過橋!同時,讓過橋速度最快的人返回送燈。同學們,good luck!

【c**實現區】

#include #include 

#include

#define size 5 /*

*********************************

*使用氣泡排序對陣列實現由小到大的排序排列

*引數:

* nums - 待排序的陣列

* len - 陣列的長度

*返回值:

* 無

**********************************

*/void bubble_sort(int nums,int

len)

}//如果沒有發生交換,說明剩下的元素已經排序好了

if(issorted) break

; }}

int main(void

);//

待過河人數和耗時

int slen = size;//

未過河人數

int dest[size]=;//

已過河人數和耗時資訊

int dlen = 0;//

已過人數

int time = 0;//

過河總耗時

while(slen>1

) slen-=2;}

else

if(slen<1) break;/*

讓已到達的人中速度最快的人返回送燈

演算法實現:先將陣列從小到大排序,再派第乙個返回送燈

*/bubble_sort(dest,dlen);

src[slen++]=dest[0

]; time += dest[0

];printf(

"", dest[0

]);//

耗時最長的人返回,從dest 陣列中刪除

for(i=1; i< dlen; i++)

dlen--;

times++;

}printf(

"\n過河總耗時:%d\n

", time);

return0;

}

執行結果:

小明一家過橋

題目 小明一家過一座橋,過橋時是黑夜,所以必須有燈。現在小明過橋要1秒,小明的弟弟過橋要3秒,小明的爸爸要6秒,小明的媽媽要8秒,小明的爺爺要12秒。每次此橋最多可以過兩人,而過橋的速度依過橋最慢者而定,而且燈在點燃30秒後就會熄滅。問 小明一家如何過橋?思路 其實要求最短時間過橋方法。原則一 盡量...

如何選擇一家公司?

之前很多讀者問我手裡有幾個 offer,不知道怎麼選擇,這部分人的比例還是挺多的,一直都想寫一下來著,但是一直都沒抽出時間,今天這個特別的日子,送給你們乙個特別的福利,就教教你們如何選擇一家靠譜的公司吧!我們加入一家公司,不管這家公司的規模怎樣,業務形態怎樣,對你影響最深的大都是你所在的團隊,團隊氛...

如何成為一家敏捷銀行

ibm全球銀行業市場總監stuart bilick,最近發表了一篇名為 成為一家敏捷銀行 的部落格文章。他寫道,在成為敏捷銀行的過程中,銀行需要面臨三大關鍵挑戰 根據struat的說法,為了解決這些挑戰更好地為客戶服務,銀行需要制定乙個策略,實現對銀行核心業務系統的改善。銀行在設法解決現有銀行核心業...