fork download
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <vector>
  4. using namespace std;
  5. bool Q=false;
  6. int hei, wid;
  7. char tab[100][100];
  8. int X[4]={1, -1, 0, 0};
  9. int Y[4]={0, 0, 1, -1};
  10. int Xs, Ys;
  11. void showlab(int hei,int wid)
  12. {
  13. for(int i=1; i<=hei; i++)
  14. {
  15. for(int j=1; j<=wid; j++)
  16. {
  17. cout<<tab[j][i];
  18. //if(tab[j][i]=='S'){Xs=j; Ys=i;}
  19. }
  20. cout<<endl;
  21. }
  22. }
  23. void dfs(int Xme, int Yme)
  24. {
  25. cout<<endl;
  26. showlab(hei, wid);
  27. if(tab[Xme][Yme]=='F'){Q=true; return;}
  28. if(tab[Xme][Yme]=='S' || tab[Xme][Yme]=='O')
  29. {tab[Xme][Yme]='X'; for(int i=0; i<4; i++)dfs(Xme+X[i], Yme+Y[i]);}
  30.  
  31. }
  32. int main(int argc, char *argv[])
  33. {
  34.  
  35. cin>>hei>>wid;
  36. for(int i=1; i<=hei; i++)
  37. {
  38. for(int j=1; j<=wid; j++)
  39. {
  40. cin>>tab[j][i];
  41. if(tab[j][i]=='S'){Xs=j; Ys=i;}
  42. }
  43. }
  44. showlab(hei, wid);
  45. dfs(Xs, Ys);
  46. cout<<Q;
  47. //system("PAUSE");
  48. return EXIT_SUCCESS;
  49. }
Success #stdin #stdout 0s 3424KB
stdin
6 6
XXXXXX
XOOOSX
XOXXOX
XOOOOX
XOOXXX
XXFXXX
stdout
XXXXXX
XOOOSX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOOOSX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOOOXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOOOXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOOXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOOXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOXXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XOXXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XOXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XOOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXOOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXOOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXXOX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXOX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOOXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XOXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX

XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXFXXX
1