неділя, 1 листопада 2015 р.

6767

Что сказала лиса?

Наконец удалось обнаружить древнюю тайну - звук лисы. Вы пошли в лес, вооружившись очень хорошим цифровым диктофоном. Однако лес полон голосов животных, и на Вашей записи могут быть слышны много различных звуков. Но Вы хорошо подготовлены для выполнения задачи: Вы точно знаете все звуки, которые издают другие животные. Поэтому остальную часть записи - все неустановленные шумы - должны были сделаны лисами.
Входные данные
Первая строка содержит количество тестов t. Первая строка содержит саму запись - слова английского алфавита, разделенные пробелом. Каждая строка содержит не более 100 букв и не более 100 слов. Следующие несколько строк содержат информацию о других животных в формате животноеgoesзвук. Всего не более 100 животных, их названия содержат не более 100 букв и задаются по-английски. Строки fox goes ... среди них нет.
Последняя строка теста является вопросом, на который Вам следует ответить: что сказала лиса?
Выходные данные
Для каждого теста выведите в отдельной строке звуки, сделанные лисой, в порядке их записи. Считайте, что лиса не молчит (вопреки распространенному мнению, лисы не общаются азбукой Морзе).

import java.util.HashSet; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = in.nextInt(); HashSet<String> sounds; in.nextLine(); while(t-- > 0) { String recording[] = in.nextLine().split("\\s"); sounds = new HashSet<String>(); String line; while(!(line = in.nextLine()).equals("what does the fox say?")) { String words[] = line.split("\\s"); for(int i=2; i<words.length; i++) sounds.add(words[i]); } StringBuilder sb = new StringBuilder(); for(String s : recording) if(!sounds.contains(s)) sb.append(' ').append(s); System.out.println(sb.substring(1)); } } }

Немає коментарів:

Дописати коментар