1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
' Challenge 209
'
' Task 1: Special Bit Characters
' Submitted by: Mohammad S Anwar
'
' You are given an array of binary bits that ends with 0.
'
' Valid sequences in the bit string are:
'
' [0] -decodes-to-> "a"
' [1, 0] -> "b"
' [1, 1] -> "c"
'
' Write a script to print 1 if the last character is an “a” otherwise print 0.
' Example 1
'
' Input: @bits = (1, 0, 0)
' Output: 1
'
' The given array bits can be decoded as 2-bits character (10) followed by
' 1-bit character (0).
'
' Example 2
'
' Input: @bits = (1, 1, 1, 0)
' Output: 0
'
' Possible decode can be 2-bits character (11) followed by 2-bits character
' (10) i.e. the last character is not 1-bit character.
function decode(in as string) as string
dim result as string
do while in<>""
if left(in,1)="0" then
result=result+"a"
in=mid(in,2)
elseif left(in,2)="10" then
result=result+"b"
in=mid(in,3)
elseif left(in,2)="11" then
result=result+"c"
in=mid(in,3)
else
print "Error: cannot parse: "; in
end
end if
loop
decode=result
end function
dim in as string, result as string
in=command(1)
result=decode(in)
if right(result,1)="a" then print 1: else print 0
|