|
|
вернуться в форумEz 2 understand, Ez 2 program #include <stdio.h> #define TDoT1033 '.' #define WaLL1033 '#' #define V1033 '+' char map[50][50]; int dir[5][2]={0,1,0,-1,1,0,-1,0}; int n; int ans; void goprc(int r, int c){ map[r][c]=V1033; int i; for(i=0;i<4;i++){ if(map[r+dir[i][0]][c+dir[i][1]]==TDoT1033){ goprc(r+dir[i][0],c+dir[i][1]); } } } int main(){ int i,j,k; scanf("%d",&n); for(i=0;i<=n+1;i++){ for(j=0;j<=n+1;j++){ map[i][j]='#'; } } for(i=1;i<=n;i++){ scanf("\n"); for(j=1;j<=n;j++){ scanf("%c",&map[i][j]); } } map[1][1]=V1033; goprc(1,1); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(map[i][j]==V1033){ for(k=0;k<4;k++){ if(map[i+dir[k][0]][j+dir[k][1]]==WaLL1033){ ans++; } } } } } ans-=4; printf("%d",ans*9); return 0; } P.S. It is wrong solution kk Edited by author 27.05.2004 20:23 |
|
|