import java.util.Scanner;

public class WeightedNineTail {
  public static void main(String[] args) {
    // Wyświetla prośbę o podanie stanu dziewięciu monet (O i R)
    System.out.print("Podaj początkowy stan dziewięciu monet (O i R): ");
    Scanner input = new Scanner(System.in);
    String s = input.nextLine(); 
    char[] initialNode = s.toCharArray();

    WeightedNineTailModel model = new WeightedNineTailModel();
    java.util.List<Integer> path =
      model.getShortestPath(NineTailModel.getIndex(initialNode));

    System.out.println("Potrzebne kroki: ");
    for (int i = 0; i < path.size(); i++)
      NineTailModel.printNode(NineTailModel.getNode(path.get(i)));    

    System.out.println("Liczba odwracanych monet: " +
      model.getNumberOfFlips(NineTailModel.getIndex(initialNode)));    
  }
}
