2019 day 4 part 1
[?]
May 18, 2020, 10:32 AM
B5KU7GLGBVB75H44OPH5GNTQZUG44EDV4SGIYC5AMMXOCRQXLOVACDependencies
- [2]
TCCBGQEU2019 day 1
Change contents
- file addition: day4.rb[2.7]
def pairwise eEnumerator.new do |y|a = e.nextwhile trueb = e.nexty.yield a,ba = bendrescue StopIterationendenddef next_d(d,c)d == true || d == c || cenddef build_candidates(d,s)Enumerator.new do |y|if s.length == 0y.yield [] if d == trueelser = s[0]Enumerator.new do |y2|(r.begin .. r.end).each do |c|y2.yield(c, s[1 ... s.length].map do |m|(c != r.begin ? c : [c, m.begin].max) ..(c == r.end ? m.end : '9')end)endend.each do |c,sn|build_candidates(next_d(d,c), sn).each do |t|y.yield([c] + t)endendendendenddef solve(a,b)build_candidates(false,a.to_s.chars.zip(b.to_s.chars).map do |l,h|l .. hend).lazy.map{|r| r.join("").to_i }end# puts solve(ARGV[0], ARGV[1]).count