lev.sc 372 B

1234567891011
  1. def min(a:Int, b:Int, c:Int) = Math.min( Math.min( a, b ), c)
  2. def sd(s1: List[Char], s2: List[Char]): Int = (s1, s2) match {
  3. case (_, Nil) => s1.length
  4. case (Nil, _) => s2.length
  5. case (c1::t1, c2::t2) => min( sd(t1,s2) + 1, sd(s1,t2) + 1,
  6. sd(t1,t2) + (if (c1==c2) 0 else 1) )
  7. }
  8. println(sd(args(0).toList, args(1).toList))