#!/usr/bin/ruby

def edit_distance_ij(a, b, i, j)
  return j if i == 0
  return i if j == 0
  cij = a[i-1] == b[j-1] ? 0 : 1
  [edit_distance_ij(a, b, i-1, j  ) + 1, 
   edit_distance_ij(a, b, i,   j-1) + 1, 
   edit_distance_ij(a, b, i-1, j-1) + cij].min
end

def edit_distance(a_string, b_string)
  edit_distance_ij(a_string, b_string, a_string.length, b_string.length)
end

if ARGV.length != 2
  puts "Usage: editierdistanz WORT_1 WORT_2"
else
  puts edit_distance(ARGV[0], ARGV[1])
end