Skip to content

Instantly share code, notes, and snippets.

@vznvzn
Created November 9, 2018 02:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vznvzn/8bafedf06f3449131f4549322ad9cfed to your computer and use it in GitHub Desktop.
Save vznvzn/8bafedf06f3449131f4549322ad9cfed to your computer and use it in GitHub Desktop.
c = ARGV[0].nil? ? 10 : ARGV[0].to_i
p(c)
fs = {}
c.times \
{
|x|
s1 = "s_1_#{x}a"
s = "s_1_#{x}b"
fs[s1] = [[s, '1']]
fs[s] = []
io = '2'
fs[s] << ["s_1_#{x + 1}a", io] if (x < c - 1)
fs[s] << ["s_0_0a", io]
fs[s] << ["xa", io]
}
c.times \
{
|x|
s1 = "s_0_#{x}a"
s = "s_0_#{x}b"
fs[s1] = [[s, '1']]
fs[s] = []
io = '1'
fs[s] << ["s_0_#{x + 1}a", io] if (x < c - 1)
fs[s] << ["s_1_0a", io]
# fs[s] << ["xa", io]
}
fs['xa'] = [['xb', '2']]
na = Hash[[fs.keys, (0...fs.size).to_a].transpose]
na['xb'] = na.size
#f = $stdout
f = File.open("fstlen#{c}.txt", 'w')
fs.each \
{
|s, t|
p([s, t])
t.each { |s2, io| f.puts([na[s], na[s2], io].join("\t")) }
}
f.puts(na['xb'])
f.close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment