SRM397

TopCoder前練習。
実装ゲーだけど、若干C++が有利な気がする。


得点:223.61/250
実装(VB.NET)


Imports Microsoft.VisualBasic
Imports System
Imports System.Collections
Imports System.Text
Imports System.Math

Public Class BreakingTheCode
Public Function decodingEncoding(ByVal code As []String[], ByVal message As []String[]) As []String[]
Dim Ass(26) As []String[]
Dim Ass2(26) As []String[]
Dim i As Integer
For i=1 To Len(code)
Ass(Asc(Mid(Code,i,1))-Asc("a")+1)=i.toString()
If i<10 then Ass(Asc(Mid(Code,i,1))-Asc("a")+1)="0"+Ass(Asc(Mid(Code,i,1))-Asc("a")+1)
Ass2(i)=Mid(Code,i,1)
Next i
Dim Res As []String[]=""
If Asc(Left(message,1))>=Asc("0") and Asc(Left(message,1))<=Asc("9") Then
For i=1 To Len(Message) Step +2
For j as Integer=1 To 26
If Val(Mid(message,i,2))=j Then
Res+=Ass2(j)
End If
Next j
Next i
Else
For i=1 To Len(Message)
Res+=Ass(Asc(Mid(Message,i,1))-Asc("a")+1)
Next i
End If
Return Res
End Function

End Class