Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- open System.Collections.Generic
- open System.Linq
- let n = int(Console.In.ReadLine())
- let prefix = new Dictionary<string,string>()
- for i in 0 .. n - 1 do
- let token = (Console.In.ReadLine()).Split [|' '|]
- let b = token.[0]
- let c = int(token.[1])
- prefix.Add(b,string(char(c)))
- ()
- let s = Console.In.ReadLine()
- let ok = true
- let i = 0
- let result = ""
- while i < String.length s do
- let ok = false
- let k = 0
- while (k < prefix.Keys.Count() && !ok) do
- let k = prefix.Keys[k]
- let v = prefix[k]
- let l = String.length k
- let ed = i + l
- if String.length s >= ed && s.[i..ed] = k then
- let ok = true
- result += v
- i += l
- k++
- if (!ok) then
- printfn "DECODE FAIL AT INDEX " + string(i)
- if (ok) then
- printfn result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement