| 
 | 
вернуться в форум#include<stdio.h> #define x1 2 #define y1 1 long p_l=2,q[1330][3],n,l_s,x,y,p_f=1,wall=0; char table[34][34]; f(long y,long x) {     q[p_l][x1]=x;     q[p_l][y1]=y;     p_l++;     if(y<=n && x<=n-1 && x>=0 && y>=1)table[y][x]='o'; } f_wall() {       while(p_l-p_f!=0)     {         x=q[p_f][x1];         y=q[p_f][y1];         p_f++;         if(y>n || x>n-1 || x<0 || y<1)wall++;         else         {             if(table[y-1][x]=='#')wall++;             else if(table[y-1][x]!='o') f(y-1,x);               if(table[y+1][x]=='#')wall++;             else if(table[y+1][x]!='o')f(y+1,x);               if(table[y][x-1]=='#')wall++;             else if(table[y][x-1]!='o')f(y,x-1);               if(table[y][x+1]=='#')wall++;             else if(table[y][x+1]!='o')f(y,x+1);         }     }   }   main() {     FILE*fin=stdin     FILE*fout=stdout     long i,j,k;     fscanf(fin,"%ld",&n);     for(i=1;i<=n;i++)     {         fscanf(fin,"%s",table[i]);     }     q[1][x1]=n-1;     q[1][y1]=n;     if(table[n][n-1]=='#')wall+=0;     else     {         table[n][n-1]='o';         f_wall();         wall-=2;     }     p_f=1;     p_l=2;     q[1][x1]=0;     q[1][y1]=1;     if(table[1][0]=='#')wall+=0;     else     {         table[1][0]='o';         f_wall();         wall-=2;     }         wall*=9;         fprintf(fout,"%ld",wall);     fclose(fin);     fclose(fout); }    |  
  | 
|