Что сказала лиса?
Наконец удалось обнаружить древнюю тайну - звук лисы. Вы пошли в лес, вооружившись очень хорошим цифровым диктофоном. Однако лес полон голосов животных, и на Вашей записи могут быть слышны много различных звуков. Но Вы хорошо подготовлены для выполнения задачи: Вы точно знаете все звуки, которые издают другие животные. Поэтому остальную часть записи - все неустановленные шумы - должны были сделаны лисами.
Входные данные
Первая строка содержит количество тестов 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));
}
}
}
Немає коментарів:
Дописати коментар