Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  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[3]);
  6. int deadEnds = 0;
  7. for(int i = 0; i < Z; i++) {
  8. for(int t=0; t < T; t++) {
  9. boolean[] [] a = new boolean[N][N];
  10. int x=N/2, y=N/2; //Startposition
  11. while(x>0 && x<N-1 && y>0 && y<N-1) {
  12. a[x][y] = true; //falls ..
  13. if(a[x-1][y] && a[x+1][y] && a[x][y-1] && a[x][y+1]) //..alle Nachbarn schon
  14. { deadEnds++; break; } //..besucht, dann Sackgasse..
  15. //..gefunden, while sofort verlassen
  16. //sonst:
  17. double r= Math.random(); //zufellig einen freien Nachbarn..
  18. if (r<0.25) {if(!a[x+1][y]) x++;} //..im Osten..
  19. else if(r<0.5 ) {if(!a[x-1][y]) x--;} //..Westen..
  20. else if(r<0.75) {if(!a[x][y+1]) y++;} //..Norden oder..
  21. else if(r<1 ) {if(!a[x][y-1]) y--;} //..Sueden besuchen..
  22. }
  23. }
  24. System.out.println(100.*deadEnds/T + "% Sackgasse");
  25. }
  26. System.out.println((100.*deadEnds/T)/Z);
  27. }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement