fork download
  1. #include<stdio.h>
  2. int n;
  3. char a[2009][2009];
  4. bool b[2009][2009];
  5. int que[4000009];
  6. int q,r;
  7. int main(){
  8. int i,j,k;
  9. scanf("%d",&n);
  10. for(i=0;i<n;i++){
  11. scanf("%s",a[i]);
  12. for(j=0;j<n;j++){
  13. if(a[i][j]=='F'){
  14. que[r++]=i*n+j;
  15. }
  16. }
  17. }
  18. while(q<r){
  19. int qi = que[q]/n;
  20. int qj = que[q]%n;
  21. q++;
  22. for(k=0;k<7;k++){
  23. int ti = qi + "22111000"[k]-'1';
  24. int tj = qj + "02012012"[k]-'1';
  25. if(ti>=0&&ti<n&&tj>=0&&tj<n){
  26. printf("%d %d --> %d %d %d %c\n",qi,qj,ti,tj,b[ti][tj],a[ti][tj]);
  27. if(!b[ti][tj]&&a[ti][tj]=='.'){
  28. b[ti][tj]=true;
  29. que[r++]=ti*n+tj;
  30. }
  31. }
  32. }
  33. }
  34. printf("%d\n",r-1);
  35. }
Success #stdin #stdout 0s 5312KB
stdin
7
###F###
##.#.##
#..#..#
##.#..#
.#.###.
...##..
.#.#...
stdout
0 3 --> 1 2  0 .
0 3 --> 1 4  0 .
0 3 --> 0 2  0 #
0 3 --> 0 3  0 F
0 3 --> 0 4  0 #
1 2 --> 2 1  0 .
1 2 --> 2 3  0 #
1 2 --> 1 1  0 #
1 2 --> 1 2  1 .
1 2 --> 1 3  0 #
1 2 --> 0 1  0 #
1 2 --> 0 2  0 #
1 4 --> 2 3  0 #
1 4 --> 2 5  0 .
1 4 --> 1 3  0 #
1 4 --> 1 4  1 .
1 4 --> 1 5  0 #
1 4 --> 0 3  0 F
1 4 --> 0 4  0 #
2 1 --> 3 0  0 #
2 1 --> 3 2  0 .
2 1 --> 2 0  0 #
2 1 --> 2 1  1 .
2 1 --> 2 2  0 .
2 1 --> 1 0  0 #
2 1 --> 1 1  0 #
2 5 --> 3 4  0 .
2 5 --> 3 6  0 #
2 5 --> 2 4  0 .
2 5 --> 2 5  1 .
2 5 --> 2 6  0 #
2 5 --> 1 4  1 .
2 5 --> 1 5  0 #
3 2 --> 4 1  0 #
3 2 --> 4 3  0 #
3 2 --> 3 1  0 #
3 2 --> 3 2  1 .
3 2 --> 3 3  0 #
3 2 --> 2 1  1 .
3 2 --> 2 2  1 .
2 2 --> 3 1  0 #
2 2 --> 3 3  0 #
2 2 --> 2 1  1 .
2 2 --> 2 2  1 .
2 2 --> 2 3  0 #
2 2 --> 1 1  0 #
2 2 --> 1 2  1 .
3 4 --> 4 3  0 #
3 4 --> 4 5  0 #
3 4 --> 3 3  0 #
3 4 --> 3 4  1 .
3 4 --> 3 5  0 .
3 4 --> 2 3  0 #
3 4 --> 2 4  1 .
2 4 --> 3 3  0 #
2 4 --> 3 5  1 .
2 4 --> 2 3  0 #
2 4 --> 2 4  1 .
2 4 --> 2 5  1 .
2 4 --> 1 3  0 #
2 4 --> 1 4  1 .
3 5 --> 4 4  0 #
3 5 --> 4 6  0 .
3 5 --> 3 4  1 .
3 5 --> 3 5  1 .
3 5 --> 3 6  0 #
3 5 --> 2 4  1 .
3 5 --> 2 5  1 .
4 6 --> 5 5  0 .
4 6 --> 4 5  0 #
4 6 --> 4 6  1 .
4 6 --> 3 5  1 .
4 6 --> 3 6  0 #
5 5 --> 6 4  0 .
5 5 --> 6 6  0 .
5 5 --> 5 4  0 #
5 5 --> 5 5  1 .
5 5 --> 5 6  0 .
5 5 --> 4 4  0 #
5 5 --> 4 5  0 #
6 4 --> 6 3  0 #
6 4 --> 6 4  1 .
6 4 --> 6 5  0 .
6 4 --> 5 3  0 #
6 4 --> 5 4  0 #
6 6 --> 6 5  1 .
6 6 --> 6 6  1 .
6 6 --> 5 5  1 .
6 6 --> 5 6  1 .
5 6 --> 6 5  1 .
5 6 --> 5 5  1 .
5 6 --> 5 6  1 .
5 6 --> 4 5  0 #
5 6 --> 4 6  1 .
6 5 --> 6 4  1 .
6 5 --> 6 5  1 .
6 5 --> 6 6  1 .
6 5 --> 5 4  0 #
6 5 --> 5 5  1 .
15