Cod sursa(job #221566)

Utilizator JokerGiurconiu Mara Joker Data 16 noiembrie 2008 20:48:53
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
 #include <fstream.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>

void main()
int dx={0,-1,-1,0,+1,+1,+1,0,-1}
int dy={0,0,1,1,1,0,-1,-1,-1}
int cx[10008],cy[10008],m,n,i,j,a[101][101],b[101][101],c[101][101],p,u,ri,rj,ji,jj,x,y,xn,yn,tmin;
FILE*f=fopen ("rj.in","r");
FILE*g=fopen ("rj.out","w");
fscanf (f,"%d,%d",&m,&n);
for (i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf (f,"%c",&d);
if(d=='x')a[i][j]=-1;
else if (d=="r") {ri=i;
		  rj=j;
		  }
else {ji=i;
      jj=j;
      }
b[i][j]=a[i][j];
fscanf (f,"%c",&d);
p=u=1;
a[ri][rj]=1;
cx[u]=ri;
cy[u]=rj;
while (p==u){x=cx[p];
	    y=cy[p];
	    }
for (i=1;i<=8;i++)
{xn=x+dx[i];
yn =y+dy[i];
if((xn>0)&&(yn>0)&&(xn<n)&&(yn<n))
if(a[xn][yn]==0){a[xn][yn]=a[x][y]-1;
                  cx[++u]=xn;
		  cy[u]=yn;
		  }
p++;
}
tmin=MAXINT;
for(i=1;i<=n;i++)
for)j=1;j<=m;j++)
if(a[i][j]==b[i][j]) if (a[i][j]<tmin) {tmin=a[i][j];
					x=i;
					y=j;
					}
fprintf(g,"%d.%d.%d",x,y,tmin);
}