Data update
This commit is contained in:
parent
ed705008a8
commit
0df55f9f24
2196 changed files with 32999 additions and 3075 deletions
|
|
@ -0,0 +1,25 @@
|
|||
func$ car x$ .
|
||||
return substr x$ 1 1
|
||||
.
|
||||
func$ cdr x$ .
|
||||
return substr x$ 2 9999
|
||||
.
|
||||
func$ scs x$ y$ .
|
||||
if x$ = ""
|
||||
return y$
|
||||
.
|
||||
if y$ = ""
|
||||
return x$
|
||||
.
|
||||
if car x$ = car y$
|
||||
return car x$ & scs cdr x$ cdr y$
|
||||
.
|
||||
r1$ = scs x$ cdr y$
|
||||
r2$ = scs cdr x$ y$
|
||||
if len r1$ <= len r2$
|
||||
return car y$ & r1$
|
||||
else
|
||||
return car x$ & r2$
|
||||
.
|
||||
.
|
||||
print scs "abcbdab" "bdcaba"
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
Function LCS(a As String, b As String) As String
|
||||
Dim As String x, y
|
||||
If Len(a) = 0 Or Len(b) = 0 Then
|
||||
Return ""
|
||||
Elseif Right(a, 1) = Right(b, 1) Then
|
||||
LCS = LCS(Left(a, Len(a) - 1), Left(b, Len(b) - 1)) + Right(a, 1)
|
||||
Else
|
||||
x = LCS(a, Left(b, Len(b) - 1))
|
||||
y = LCS(Left(a, Len(a) - 1), b)
|
||||
If Len(x) > Len(y) Then Return x Else Return y
|
||||
End If
|
||||
End Function
|
||||
|
||||
Function SCS(u As String, v As String) As String
|
||||
Dim lcsStr As String = LCS(u, v)
|
||||
Dim As Integer i, ui = 0, vi = 0
|
||||
Dim As String sb = ""
|
||||
For i = 1 To Len(lcsStr)
|
||||
While ui < Len(u) Andalso Mid(u, ui + 1, 1) <> Mid(lcsStr, i, 1)
|
||||
sb += Mid(u, ui + 1, 1)
|
||||
ui += 1
|
||||
Wend
|
||||
While vi < Len(v) Andalso Mid(v, vi + 1, 1) <> Mid(lcsStr, i, 1)
|
||||
sb += Mid(v, vi + 1, 1)
|
||||
vi += 1
|
||||
Wend
|
||||
sb += Mid(lcsStr, i, 1)
|
||||
ui += 1
|
||||
vi += 1
|
||||
Next
|
||||
If ui < Len(u) Then sb += Right(u, Len(u) - ui)
|
||||
If vi < Len(v) Then sb += Right(v, Len(v) - vi)
|
||||
Return sb
|
||||
End Function
|
||||
|
||||
Print SCS("abcbdab", "bdcaba")
|
||||
Print SCS("WEASELS", "WARDANCE")
|
||||
|
||||
Sleep
|
||||
Loading…
Add table
Add a link
Reference in a new issue