Advertisement
liwgfr

Untitled

Apr 2nd, 2021
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1.  
  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.util.ArrayList;
  5. import java.util.Scanner;
  6.  
  7. public class Main {
  8.     public static void main(String[] args) {
  9.         //TODO Следует протестировать решение на контесте, потому что на претестах все ок. Также вопросы касательно литералов (см. запись)
  10.         File file = new File("/home/binocla/IdeaProjects/TUTOR/src/main/java/binocla/1.txt"); // Путь до файла
  11.         FileReader reader = new FileReader(file); // Инициализируем считыватель файла
  12.         Scanner in = new Scanner(reader); // Сканнер для помощи
  13.         ArrayList<String> ar = new ArrayList<>(); // Лист из строк
  14.         while (in.hasNextLine()) { // Считываем до конца
  15.            ar.add(in.nextLine().replaceAll(" {4}", "TAB")); // Меняю четыре пробела на "TAB"
  16.         }
  17.         boolean flag = false;
  18.         for (String s : ar) { // Бегу по листу
  19.             for (int j = 1; j < s.length() - 3; j++) { // Бегу по каждому элементу (строке) листа
  20.                 int pos = (s.lastIndexOf("TAB")); // Берем позицию последнего встретившегося "TAB"'a (начальную)
  21.                 flag = pos > 0 && s.charAt(pos) - 1 != ' ' && s.charAt(pos) + 3 != ' ' || s.charAt(j) == ' ' && s.charAt(j) - 1 != ' ' && s.charAt(j) + 1 != ' '; // флаг true - если все это выполняется (проверка на табуляцию и пробелы)
  22.             }
  23.         }
  24.         if (!flag) {
  25.             System.out.println("YES");
  26.         } else {
  27.             System.out.println("NO");
  28.         }
  29.     }
  30. }
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement