內容 :
丁丁共和國的國民非常喜歡賽車,每個人從小的夢想就是當個賽車選手,國內共有數百個層級不同的賽車聯盟,每天都有十幾場不同類型的賽事進行著,賽車已經成為丁丁共和國的國民運動,自從2080年賽車列入奧運項目後,丁丁共和國永遠都是靠這個項目奪得每次奧運的唯一一面獎牌。
為了慶祝丁丁共和國建國一百年,丁丁總理決定舉辦一場盛大的賽車活動,他決定在國內的高速公路中挑選出一條最長的路徑來舉辦這場賽車,身為體育部長的你必須幫總理挑出這條路徑。
丁丁共和國內有數千個城市,而城市間有一些高速公路連接,但是由於丁丁交通部長的省錢政策,丁丁共和國的高速公路有一個特性,就是任意兩個城市間由高速公路構成的路徑都不多不少恰好為一條,而且連接兩個城市的高速公路長度都是1。
輸入說明 :
輸入檔中會有多筆資料,第一行是一個正整數k,代表一共有多少組資料,接下來是k組測試資料,每組測試資料的第一行是一個正整數n,代表城市的數量,n的大小不會超過2000,接下來每行會有兩個城市名稱,代表這兩個城市間有高速公路連接,城市名稱不會超過100個字元且不含空白,當兩個城市名稱為等號時代表一組測試資料結束,不要把最後一行納入處理。
輸出說明 :
對每組測試資料,輸出一行所能找到的最長賽道長度。
範例輸入 :
2
3
A B
B C
= =
4
A B
B C
B D
= =
範例輸出 :
2
2
為了慶祝丁丁共和國建國一百年,丁丁總理決定舉辦一場盛大的賽車活動,他決定在國內的高速公路中挑選出一條最長的路徑來舉辦這場賽車,身為體育部長的你必須幫總理挑出這條路徑。
丁丁共和國內有數千個城市,而城市間有一些高速公路連接,但是由於丁丁交通部長的省錢政策,丁丁共和國的高速公路有一個特性,就是任意兩個城市間由高速公路構成的路徑都不多不少恰好為一條,而且連接兩個城市的高速公路長度都是1。
輸入說明 :
輸入檔中會有多筆資料,第一行是一個正整數k,代表一共有多少組資料,接下來是k組測試資料,每組測試資料的第一行是一個正整數n,代表城市的數量,n的大小不會超過2000,接下來每行會有兩個城市名稱,代表這兩個城市間有高速公路連接,城市名稱不會超過100個字元且不含空白,當兩個城市名稱為等號時代表一組測試資料結束,不要把最後一行納入處理。
輸出說明 :
對每組測試資料,輸出一行所能找到的最長賽道長度。
範例輸入 :
2
3
A B
B C
= =
4
A B
B C
B D
= =
範例輸出 :
2
2
Dim former(), latter(), situation(999) As String
回覆刪除Dim max, maxnum As Integer
Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, mycount
For ai = 1 To mycount
times = 0: max = 0: maxnum = 0
Input #1, city
ReDim former(city), latter(city)
k = 1
Do
Input #1, temp1
If temp1 = "= =" Then Exit Do
former(k) = Left(temp1, 1): latter(k) = Right(temp1, 1)
k = k + 1
Loop
k = k - 1
For i = 1 To k
For ii = 1 To k
If latter(i) = former(ii) Then
If i > 1 And latter(i) = former(ii) Then
For bi = 1 To times
If InStr(situation(bi), latter(i)) <> 0 Then situation(bi) = situation(bi) & former(ii) & latter(ii)
If Len(situation(bi)) > max Then max = Len(situation(bi)): maxnum = bi
Next
Else
times = times + 1: situation(times) = former(i) & latter(i) & former(ii) & latter(ii)
If Len(situation(times)) > max Then max = Len(situation(times)): maxnum = times
End If
End If
Next
Next
Print #2, Len(situation(maxnum)) / 2
Next
Close #2
Close #1
End
End Sub
Dim b() As String
回覆刪除Dim e() As Integer
Private Sub Form_Load()
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Input #1, n
For i = 1 To Val(n)
Input #1, h: ReDim b(Val(h), Val(h)), e(Val(h)): r = 1:
Do
Input #1, x
If x = "= =" Then Exit Do
a = Split(x)
b(r, 1) = a(0)
For c = 1 To Val(h)
For j = 1 To Val(h)
If a(0) = b(c, j) Then b(c, j + 1) = a(1)
Next j
Next c
r = r + 1
Loop
For c = 1 To Val(h)
For j = 1 To Val(h)
If b(c, j) <> "" Then e(c) = e(c) + 1
Next j
Next c
z = 0
For c = 1 To Val(h)
If e(c) > z Then z = e(c) - 1
Next c
Print #2, z
Next i
Close #2
Close #1
End
End Sub