Pagini recente » Cod sursa (job #1035880) | Cod sursa (job #2169585) | Istoria paginii utilizator/parket | Diferente pentru home intre reviziile 676 si 677 | Cod sursa (job #592893)
Cod sursa(job #592893)
#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;}
}