package com.javarush.task.task19.task1918;
import java.io.*;
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
/*
Знакомство с тегами
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = br.readLine();
br.close();
BufferedReader br1 = new BufferedReader(new FileReader(fileName));
ArrayList<String> list = new ArrayList<>();
while (true) {
String s = br1.readLine();
if (s!=null) list.add(s+"\n");
else break;
}
br1.close();
String s1 = "";
for (String s2: list) s1 += s2;
Pattern pattern = Pattern.compile("\\<"+args[0]+"\\>");
Matcher matcher = pattern.matcher(s1);
Pattern pattern2 = Pattern.compile("\\<"+args[0]+" .+?\\>");
Matcher matcher2 = pattern2.matcher(s1);
Pattern pattern3 = Pattern.compile("\\<"+args[0]+"\\n.+?\\>");
Matcher matcher3 = pattern3.matcher(s1);
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
while (matcher.find()) {
int start = matcher.start();
list1.add(start);
}
while (matcher2.find()) {
int start = matcher2.start();
list1.add(start);
}
while (matcher3.find()) {
int start = matcher3.start();
list1.add(start);
}
Collections.sort(list1);
Pattern pattern1 = Pattern.compile("\\</"+args[0]+"\\>");
Matcher matcher1 = pattern1.matcher(s1);
while (matcher1.find()) {
int start = matcher1.start();
list2.add(start);
}
HashMap<Integer, Integer> map = new HashMap<>();
ArrayList<Integer> list3 = new ArrayList<>(list1);
for (int k = 0; k <= list2.size() - 1; k++) {
int min = list2.get(k);
int minindex = 0;
for (int i = 0; i<=list1.size() - 1; i++) {
int j = list2.get(k) - list1.get(i);
if (j<min&&j>=0) {
min = j;
minindex = i;
}
}
map.put(list1.get(minindex), list2.get(k));
list1.remove(minindex);
}
for (Integer l: list3) {
String s10 = s1.substring(l, map.get(l) + args[0].length() + 3);
System.out.println(s10.replaceAll("\n", ""));
}
}
}
Валерий
41 уровень
Очень хотелось бы узнать, что хочет от меня валидатор. Помогите, плиз
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
SergeyExpert
23 февраля 2020, 16:12
в файл для проверки напишите то, что в задании (ну то что в задании после слова Пример в самом верху
И у вас программа должна выдать точно такой же результат как в "Пример вывода"
0
Ksenia VolkovaJava Developer в DXCMaster
23 февраля 2020, 16:14
А почему ты думаешь, что она не выдает?
0
SergeyExpert
23 февраля 2020, 16:19
не думаю
предложил проверять на том примере что написан в условии
0
Валерий
24 февраля 2020, 06:47
По примеру в условии программа выдает в точности то, что нужно
0