Cod sursa(job #2878232)

Utilizator MvpRhastaGaciu Vasile MvpRhasta Data 26 martie 2022 11:00:24
Problema Potrivirea sirurilor Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.74 kb
package com.company;

import java.io.*;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
      Fireworks fireworks = new Fireworks();
      fireworks.read();
    }
}

class Fireworks{
    private File file;
    private Scanner in;
    private FileWriter fileWriter;
    private BufferedWriter writer;

    public Fireworks(){
        file = new File("strmatch.in");
        try {
            in = new Scanner(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            fileWriter = new FileWriter("strmatch.out");
        } catch (IOException e) {
            e.printStackTrace();
        }
        writer = new BufferedWriter(fileWriter);
    }
    public void read(){
      String a = in.hasNext() ? in.next() : "";
      String b = in.hasNext() ? in.next() : "";
      int count = 0;
      StringBuilder stringBuilder = new StringBuilder();
      for(int i = 0; i < b.length(); i++){
       if(b.charAt(i) == a.charAt(0)){
        boolean valid = i + a.length() <= b.length();
        for(int j = 0, k = i;valid && j < a.length() && k < b.length(); j++, k++){
         valid = a.charAt(j) == b.charAt(k);
        }
        if(valid){
         count++;
         stringBuilder.append(i).append(" ");
        }
       }
      }
      String s = stringBuilder.toString();
      stringBuilder.setLength(0);
      stringBuilder.append(count).append('\n').append(s);
        try {
            write(stringBuilder.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void write(String s) throws IOException {
      writer.write(s);
      writer.close();
    }
}