blob: e3d539fc465f33fa089b1f7a9f5cb43dee04f717 (
plain) (
blame)
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
|
#!/usr/bin/env tclsh
proc vec x {list [expr {abs($x)}] [expr {($x>0)-($x<0)}]}
for {set i 0} {$i < 10} {incr i} {
set kx($i) 0
set ky($i) 0
}
while {1} {
set line [gets stdin]
if {[eof stdin] || $line == ""} then break
lassign [split $line] d n
for {set i 0} {$i < $n} {incr i} {
switch $d {
R {incr kx(0) 1}
U {incr ky(0) 1}
L {incr kx(0) -1}
D {incr ky(0) -1}
}
for {set j 1} {$j < 10} {incr j} {
set p [expr {$j-1}]
lassign [vec [expr {$kx($p)-$kx($j)}]] mx dx
lassign [vec [expr {$ky($p)-$ky($j)}]] my dy
if {$mx == 2 || $my == 2} {
incr kx($j) $dx
incr ky($j) $dy
}
}
set v($kx(9),$ky(9)) 1
}
}
puts [array size v]
|