daily pastebin goal
60%
SHARE
TWEET

Untitled

a guest Jan 18th, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Aufgabe2 {
  2.   public static void main (String[] args) {
  3.     int N = Integer.parseInt(args[0]);                              //Größe des Feldes
  4.     int T = Integer.parseInt(args[1]);                              //Versuche
  5.     int Z = Integer.parseInt(args[2]);
  6.     int deadEnds = 0;
  7.     int temp = 0;
  8.     for(int i = 0; i < Z; i++) {
  9.         for(int t=0; t < T; t++) {
  10.             boolean[] [] a = new boolean[N][N];
  11.             int x=N/2, y=N/2;                                           //Startposition
  12.             while(x>0 && x<N-1 && y>0 && y<N-1) {
  13.                 a[x][y] = true;                                         //falls ..
  14.                 if(a[x-1][y] && a[x+1][y] && a[x][y-1] && a[x][y+1])    //..alle Nachbarn schon
  15.                 { deadEnds++; break; }                                  //..besucht, dann Sackgasse..
  16.                                                                         //..gefunden, while sofort verlassen
  17.                                                                         //sonst:
  18.                 double r= Math.random();                                //zufellig einen freien Nachbarn..
  19.                 if     (r<0.25) {if(!a[x+1][y]) x++;}                   //..im Osten..
  20.                 else if(r<0.5 ) {if(!a[x-1][y]) x--;}                   //..Westen..
  21.                 else if(r<0.75) {if(!a[x][y+1]) y++;}                   //..Norden oder..
  22.                 else if(r<1   ) {if(!a[x][y-1]) y--;}                   //..Sueden besuchen..
  23.             }
  24.         }
  25.         System.out.println("Durchlauf Nr. " + i + ":\t" + 100.*deadEnds/T + "% Sackgasse");
  26.         temp = temp + deadEnds;
  27.         deadEnds = 0;
  28.     }
  29.     System.out.println("Gesamtdurchlauf: \t" + (100.*temp/T)/Z);
  30.   }
  31. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top