fork(11) download
  1. import java.io.*;
  2. import java.util.*;
  3. class Shortest
  4. {
  5. static int n,a[][],b[][];
  6. public static void main(String ar[])
  7. {
  8. Scanner in=new Scanner(System.in);
  9. n=in.nextInt();
  10. a=new int[n][n];
  11. b=new int[n][n];
  12. int i,j;
  13. for(i=0;i<n;i++)
  14. {
  15. for(j=0;j<n;j++)
  16. {
  17. a[i][j]=in.nextInt();
  18. }
  19. }
  20. path(0,0,"");
  21. }
  22. private static void path(int x,int y,String dir)
  23. {
  24. if(x==n-1 && y==n-1)
  25. {
  26. System.out.println(dir);
  27. return;
  28. }
  29. if(b[x][y]==1 || a[x][y]==1)
  30. return;
  31. b[x][y]=1;
  32. if(x>0)
  33. path(x-1,y,dir+'u');
  34. if(y>0)
  35. path(x,y-1,dir+'l');
  36. if(x<n-1)
  37. path(x+1,y,dir+'r');
  38. if(y<n-1)
  39. path(x,y+1,dir+'d');
  40. b[x][y]=0;
  41. }
  42. }
Success #stdin #stdout 0.1s 380608KB
stdin
3
0 0 0
0 1 0
0 0 0
stdout
rrdd
ddrr