// Errechnet die Anzahl Kugeln die unter dem Nagelbrett in den verschiedenen
// Behältern gefunden werden kann
//
// Aufruf: java nagelbrett anzahl_nagelreihen anzahl_kugeln
import java.util.*; // um Arrays zu füllen

public class nagelbrett
 {
  public static void main(String[] args)
   {
    try
     {
      final int anzahl_reihen = Integer.parseInt(args[0]); 
      final int anzahl_kugeln = Integer.parseInt(args[1]);
      
      System.out.println("Nagelbrett");
      System.out.println("Nagelreihen: "+anzahl_reihen);
      System.out.println("Anzahl Kugeln:"+anzahl_kugeln);
      System.out.println();
      
      int[] behaelter = new int [(anzahl_reihen+1)]; // die Behälter die die Kugeln auffangen
      // Array mit 0 füllen
      Arrays.fill(behaelter, 0);
            
      // 0 und dann jeweils nach links und rechts usw.
      int horizontale_position;
      
      // Wiederhohlungen
      for(int i=0;i<anzahl_kugeln;i++)
       {
        horizontale_position = 0;
        
        // Kugel durch die Nägel rollen lassen
        for(int j=0;j<anzahl_reihen;j++)
         {
          // links oder rechst
          //System.out.print(horizontale_position+" ");

          if( ( (int) (Math.random()*2) ) == 0 )
           {
            // nach links
            //System.out.print("< ");
            horizontale_position -= 1;         
           }
          else
           {
            // nach rechts
            //System.out.print("> ");
            horizontale_position += 1;
           }
         } // Ende durch die Nägel rollen lassen

        //System.out.print(horizontale_position);
        // Wert für Array
        horizontale_position = (horizontale_position + anzahl_reihen)/2;
        //System.out.println(" ["+horizontale_position+"]");
      
        // Anzahl Kugeln im Behälter an der richtigen stelle um 1 erhöhen
        behaelter[horizontale_position] += 1;
       
       } // Ende Wiederhohlungen
      
      // Array ausgeben
      for(int i=0;i<behaelter.length;i++)
       {
        System.out.print(behaelter[i]+" ");
       }
      System.out.println();
      System.out.println(); // falls \n reicht \n oder \n und \r
     }
    catch(Exception e)
     {
      System.out.println("Fehler: ungültige Parameter");
      System.out.println("Aufruf: java nagelbrett anzahl_nagelreihen anzahl_kugeln");
      System.exit(1); // Programm abbrechen
     } 
   }
 }
