Cod sursa(job #592893)

Utilizator noruIlies Norbert noru Data 31 mai 2011 08:30:12
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.26 kb
#include<stdio.h>
int cx[1000],cy[1000];
int main()
{
	int a[101][101],i,j,n,m,a,b,x,y,d,k,ok,e=1;
	FILE *f=fopen("rj.in","r");
	FILE *g=fopen("rj.out","w");
	fscanf(f,"%d %d",&n,&m);
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
		{
			fscanf(f,"%c",&a[i][j]);
			if (a[i][j]=='R') {x=i;y=j;}
			if (a[i][j]=='J') {a=i;b=j;}
		}
	cx[1]=x;cy[1]=y;
	ok=0;k=1;d=1;
	while (ok==0)
	{
		d=0;
		for (i=1;i<=k;i++)
		{
		if (a[i-1][j-1]=='J') {e++;ok=1;break;}
		else if (a[i-1][j-1]==' '){ a[i-1][j-1]=e+1;cx[++d]=i;cy[d]=j;}
		if (a[i][j-1]=='J') {e++;ok=1;break;}
		else if (a[i][j-1]==' ') {a[i][j-1]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i+1][j-1]=='J') {e++;ok=1;break;}
		else if (a[i+1][j-1]==' ') {a[i+1][j-1]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i-1][j]=='J') {e++;ok=1;break;}
		else if (a[i-1][j]==' ') {a[i-1][j]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i+1][j+1]=='J') {e++;ok=1;break;}
		else if (a[i+1][j+1]==' ') {a[i+1][j+1]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i-1][j+1]=='J') {e++;ok=1;break;}
		else if (a[i-1][j+1]==' ') {a[i-1][j+1]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i][j+1]=='J') {e++;ok=1;break;}
		else if (a[i][j+1]==' ') {a[i][j+1]=e+1;cx[++k]=i;cy[k]=j;}
		if (a[i+1][j]=='J') {e++;ok=1;break;}
		else if (a[i+1][j]==' ') {a[i+1][j]=e+1;cx[++k]=i;cy[k]=j;}
		}