Вот такое решение, валидатор принял, но оно не верное
И разглядывая фото поймите правильно, у меня бомбануло, после 10 часов колупания задачи.
public class Solution {
public static List<String> words = new ArrayList<String>();
static {
words.add("файл");
words.add("вид");
words.add("В");
}
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// String pathFile = reader.readLine();
reader.close();
reader = new BufferedReader(new FileReader("F:\\2.txt"));
// reader = new BufferedReader(new FileReader(pathFile));
while (reader.ready()) {
String s = reader.readLine().trim();
int counter = 0;
if (counter <= 2) {
for (int i = 0; i < words.size(); i++) {
Pattern pattern = Pattern.compile("(" + words.get(i) + " )|(" + words.get(i) + "$)");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
counter++;
}
}
}
if (counter == 2) {
System.out.println(s);
}
}
reader.close();
}
}