Вот такое решение, валидатор принял, но оно не верное
И разглядывая фото поймите правильно, у меня бомбануло, после 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();
    }
}