试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:普通

浙江省2019年信息技术选考模拟试卷三

平面上有n(3<=n<=100)个房间围成一圈,编号分别为 1~n,相邻的两个房间之间均有一扇门,第i个房间最多居住人数为a(i)。初始时选择一个房间,将所有人都聚集在该房间,接着每个人都可以顺时针方向走到相邻的房间,直到找到居住的房间。最后每个房间刚好住满。一个人每经过一扇门花费1的能量,请确定初始房间及每个人找房间的方案,使得所有人花费的能量的和最小。

例如:n = 5,a(1)= 4,a(2)= 7 ,a(3)= 8,a(4)= 6,a(5)= 4。

最佳方案为初始时所有人聚集在2号房间花费的最小能量为7*0+8*1+6*2+4*3+4*4=48。

实现上述功能的 VB 代码如下,但加框处代码有错,请改正。

Dim a( 1 To 100) As Integer   '依次存储编号为 1 到 100 的房间的最多居住人数

Private Sub Form_Load()

'产生N的值

'本过程从数据库中依次读取编号为1到 N的房间的最多居住人数,并存储在数组a中

'代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer, j As Integer, w As Integer

Dim t As Long, ans As Long

ans = 32767

For i=1 To n

     t = 0

     For j=0 To n-1

            ‘(1)

      If w=0 Then w=n

           ‘(2)

   Next j

   If t < ans Then ans = t

Next i

Text2.Text = Str(ans)

End Sub

以上程序段运行时,为了实现上述功能,加框处代码应改正为:

;⑵

举一反三
返回首页

试题篮