Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class JediCodeX {
- public static void main(String[] args) throws IOException {
- BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
- int lines = Integer.parseInt(bf.readLine());
- StringBuilder jediText = new StringBuilder();
- while (lines > 0) {
- String line = bf.readLine();
- jediText.append(line);
- lines--;
- }
- String namePattern = bf.readLine();
- String messagePattern = bf.readLine();
- int[] indexes = Arrays.stream(bf.readLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
- ArrayList<String> nameList = new ArrayList<>();
- ArrayList<String> messageList = new ArrayList<>();
- Matcher nameMatcher = Pattern.compile(namePattern + "([a-zA-Z]" + "{" +
- namePattern.length()+ "})" + ("(?![a-zA-Z])")).matcher(jediText);
- Matcher messageMatcher =
- Pattern.compile(messagePattern + "([a-zA-Z0-9]" + "{" +
- messagePattern.length() + "})" +"(?![a-zA-Z0-9])").matcher(jediText);
- addToList(nameMatcher, nameList);
- addToList(messageMatcher ,messageList);
- //queryPart
- queryJedies(indexes, messageList, nameList);
- }
- private static void addToList(Matcher matcher, ArrayList<String> list) {
- while (matcher.find()) {
- list.add(matcher.group(1));
- }
- }
- private static void queryJedies(int[] indexes, ArrayList<String> messages, ArrayList<String> names) {
- for (int i = 0; i < Math.min(indexes.length, names.size()); i++) {
- int index = indexes[i];
- if (index <= messages.size()) {
- System.out.println(names.get(i) + " - " + messages.get(index - 1));
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment