試卷征集
          加入會員
          操作視頻

          過橋問題。n個旅行者在夜晚要通過一座狹窄的橋,橋上最多只能上2個人且必須借助手電筒,手電筒只有一只。為了所有人在最短時間內(nèi)過橋,設(shè)計算法如下:
          (1)如果只有1人過橋,時間為個人過橋時間。
          (2)如果有2人一起過橋,時間以慢的人為準。
          (3)如果有3個人a、b、c,耗時Ta<Tb<Tc,過橋方案為讓a和b一起過橋,a拿手電筒回來,然后與c一起過橋。
          (4)如果存在多于3個人,如a、b、……、y、z需要過橋,耗時Ta<Tb…<Ty<Tz,這時有兩種可選方案,選擇其中用時少的,直至剩余少于4人。
          ①最快的1個將最慢的2個分別送過橋。
          a拿手電筒與z過橋,然后a拿手電筒回來再與y一起過橋,a拿手電筒回來;
          ②最快的2個將最慢的2個送過橋。
          讓a、b拿手電筒先過橋,a本手電筒回來,讓y、z手拿電筒過橋,然后b拿手電筒回來。
          為驗證方案,小明設(shè)計了相應(yīng)的VB程序。首先從數(shù)據(jù)庫中獲取每個人的過橋時間,并顯示在列表框List1中,單擊“計算”按鈕 Command1,在文本框Text1中輸出最短耗時,界面如圖a所示。

          (1)V程序代碼如下,請在橫線處填入合適的代碼。
          Dim n As Integer‘存放過河人數(shù)
          Dim t(1 To 100)As Integer’存放每個人單獨過橋時間
          Private Sub Form_ Load( ?。?br />從數(shù)據(jù)庫中讀取每個人的過橋時間顯示在列表框List1中,并統(tǒng)計總?cè)藬?shù)n,代碼略
          End  Sub
          Private Sub Commandl Click( ?。?br />Dim i As Integer,k As Integer,j As Integer,temp As Integer
          Dim suml As Integer,sum2 As Integer,tsum As Integer
          sum1=0:sum2=0:tsum=0
          For i=1 To n-1“對每個人的過橋耗時進行升序排序
          k=i
          For j=i+1 Ton
          If①
          t(k)>t(j)
          t(k)>t(j)
          Then k=j
          Next  j
          If k<>i then
          temp=t(i):t(i)=t(k):t(k)=temp
          End If
          Next  i
          i=n
          Do While i>3
          sum1=2*t(1)+t(i-1)+t(i)'方案①
          sum2=t(1)+2*t(2)+t(i)'方案②
          If suml<sum2 Then
          tsum=tsum+sum2
          End If
          i=
          I-2
          I-2

          Loop
          If n=1 Then'剩下1個人
          tsum=tsum+t(1)
          ElseIf n 2 Then'剩下2個人
          tsum=tsum+t(2)
          Els'剩下3個人
          tsum=③
          =tsum+t(1)+t(2)+t(3)
          =tsum+t(1)+t(2)+t(3)

          End if
          Textl.Text=Str(tsum)
          End Sub
          (2)如有5個人,他們單獨過橋耗時(單位s)如圖b所示,則程序運行后文本框Text2中顯示的最短耗時是
          98
          98
          (s)

          【答案】t(k)>t(j);I-2;=tsum+t(1)+t(2)+t(3);98
          【解答】
          【點評】
          聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
          發(fā)布:2024/6/27 10:35:59組卷:7引用:2難度:0.3
          相似題
          • 1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過100則空氣質(zhì)量優(yōu)良,否則空氣質(zhì)量有污染。當輸入的AQI值為-1時則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語句。
            city=input(“請輸入城市名:”)
            AQI=int(input(“請輸入空氣質(zhì)量指數(shù)AQI的值:”))
            ①______ AQI!=-1:
            if ②______:
            print(city,“的空氣質(zhì)量優(yōu)良?!保?br />③______:
            print(city,“的空氣質(zhì)量有污染。”)
            city=input(“請輸入城市名:”)
            AQI=④(input(“請輸入空氣質(zhì)量指數(shù)AQI的值:”))
            (1)序號①答案為
             

            A.if
            B.while
            C.for
            D.def
            (2)序號②答案為
             
            。
            A.AQI>=100
            B.AQI<=100
            C.AQI>100
            D.AQI<100
            (3)序號③答案為
             
            。
            A.elif
            B.break
            C.if
            D.else
            (4)序號④答案為
             

            A.int
            B.float
            C.str
            D.else

            發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
          • 2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫一個C程序,求它在第10次落地時,其經(jīng)過了多少米?第10次反彈多高?

            發(fā)布:2025/1/2 11:0:1組卷:1引用:3難度:0.3
          • 3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長,p為三角形的半周長,即p=(a+b+c)/2,計算此三角形面積S的海倫公式為:。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語句。
            import math#導(dǎo)入數(shù)學模塊
            def hl(a,b,c):#定義求三角形面積的函數(shù)
            p=①
            s=math.jye.ai(②)#sqrt用于計算算術(shù)平方根
            return ③#返回面積的值
            a,b,c=3,4,5#邊長依次賦值
            print(“此三角形的面積S為:“,hl(a,b,c))
            (1)序號①答案為
             

            A. (a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
            C. (a+b+c)*2                              D.s
            (2)序號②答案為
             

            A.(a+b+c)/2                              B.p*(p-a)*(p-b)*(p-c)
            C.(a+b+c)*2                                D.(3+4+5)/2
            (3)序號③答案為
             

            A.p                                          B.s
            C.p*(p-a)*(p-b)*(p-c)                  D.0

            發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
          APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
          本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正