Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,65 @@
|
|||
constant n = {{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};
|
||||
|
||||
function AB(sequence text, integer y, x, step)
|
||||
integer wtb = 0, bn = 0
|
||||
integer prev = '#', next
|
||||
string p2468 = ""
|
||||
for i=1 to length(n) do
|
||||
next = text[y+n[i][1]][x+n[i][2]]
|
||||
wtb += (prev='.' and next<='#')
|
||||
bn += (i>1 and next<='#')
|
||||
if and_bits(i,1)=0 then p2468 = append(p2468,prev) end if
|
||||
prev = next
|
||||
end for
|
||||
if step=2 then -- make it p6842
|
||||
p2468 = p2468[3..4]&p2468[1..2]
|
||||
end if
|
||||
return {wtb,bn,p2468}
|
||||
end function
|
||||
|
||||
procedure Zhang_Suen(sequence text)
|
||||
integer wtb, bn, changed, changes
|
||||
string p2468 -- (p6842 for step 2)
|
||||
text = split(text,'\n')
|
||||
while 1 do
|
||||
changed = 0
|
||||
for step=1 to 2 do
|
||||
changes = 0
|
||||
for y=2 to length(text)-1 do
|
||||
for x=2 to length(text[y])-1 do
|
||||
if text[y][x]='#' then
|
||||
{wtb,bn,p2468} = AB(text,y,x,step)
|
||||
if wtb=1
|
||||
and bn>=2 and bn<=6
|
||||
and find('.',p2468[1..3])
|
||||
and find('.',p2468[2..4])then
|
||||
changes = 1
|
||||
text[y][x] = '!' -- (logically still black)
|
||||
end if
|
||||
end if
|
||||
end for
|
||||
end for
|
||||
if changes then
|
||||
for y=2 to length(text)-1 do
|
||||
text[y] = substitute(text[y],"!",".")
|
||||
end for
|
||||
changed = 1
|
||||
end if
|
||||
end for
|
||||
if not changed then exit end if
|
||||
end while
|
||||
puts(1,join(text,"\n"))
|
||||
end procedure
|
||||
|
||||
string small_rc = """
|
||||
................................
|
||||
.#########.......########.......
|
||||
.###...####.....####..####......
|
||||
.###....###.....###....###......
|
||||
.###...####.....###.............
|
||||
.#########......###.............
|
||||
.###.####.......###....###......
|
||||
.###..####..###.####..####.###..
|
||||
.###...####.###..########..###..
|
||||
................................"""
|
||||
Zhang_Suen(small_rc)
|
||||
Loading…
Add table
Add a link
Reference in a new issue