fork(9) download
  1. import java.io.{BufferedReader, InputStreamReader}
  2.  
  3. object Main {
  4. def main(args: Array[String]) {
  5. val stdin =
  6. new BufferedReader(new InputStreamReader(System.in));
  7. val name1 = stdin.readLine();
  8. val name2 = stdin.readLine();
  9. System.out.println(flames(name1, name2))
  10. }
  11.  
  12. def flames(name1: String, name2: String): Char = {
  13. flames(remaining(name1, name2), 0, "FLAMES")(0)
  14. }
  15.  
  16. def remaining(name1: String, name2: String): Int = {
  17. ((name1 diff name2) ++ (name2 diff name1)).length
  18. }
  19.  
  20. def flames(length: Int, start: Int, phrase: String): String = {
  21. println(phrase)
  22. if (phrase.length == 1) phrase
  23. else {
  24. val toRemove = (start - 1 + length) % phrase.length
  25. val newPhrase = phrase.zipWithIndex.filter(_._2 != toRemove).map (_._1).toList.mkString
  26. flames(length, toRemove % newPhrase.length, newPhrase)
  27. }
  28. }
  29. }
Success #stdin #stdout 0.21s 211712KB
stdin
ABCD
CDEF
stdout
E