Update all new Tasks
This commit is contained in:
parent
00a190b0a6
commit
91df62d461
5697 changed files with 93386 additions and 804 deletions
|
|
@ -0,0 +1,29 @@
|
|||
procedure main(A)
|
||||
every writes(s := !A, " -> [") do {
|
||||
every writes(!(enc := encode(&lcase,s))," ")
|
||||
writes("] -> ",s2 := decode(&lcase,enc))
|
||||
write((s == s2, " (Correct)") | " (Incorrect)")
|
||||
}
|
||||
end
|
||||
|
||||
procedure encode(m,s)
|
||||
enc := []
|
||||
every c := !s do {
|
||||
m ?:= reorder(tab(i := upto(c)),move(1),tab(0))
|
||||
put(enc,i-1) # Strings are 1-based
|
||||
}
|
||||
return enc
|
||||
end
|
||||
|
||||
procedure decode(m,enc)
|
||||
dec := ""
|
||||
every i := 1 + !enc do { # Lists are 1-based
|
||||
dec ||:= m[i]
|
||||
m ?:= reorder(tab(i),move(1),tab(0))
|
||||
}
|
||||
return dec
|
||||
end
|
||||
|
||||
procedure reorder(s1,s2,s3)
|
||||
return s2||s1||s3
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue