Pagini recente » Cod sursa (job #1554198) | Cod sursa (job #118221)
Cod sursa(job #118221)
#include<stdio.h>
long int n,m,si,sj,spoz,fi,fj,fpoz,i,j,x,k,stare[2200000],
m0[8],m1[8],m2[8],aa;
void init();
int main()
{
FILE *f,*g;f=fopen("car.in","r");g=fopen("car.out","w");
fscanf(f,"%ld%ld",&n,&m);
fscanf(f,"%ld%ld",&si,&sj);
fscanf(f,"%ld%ld",&fi,&fj);
init();
//stari
//0->in asteptare nu e in liste
//1->in lista cu cost curent
//2->in lista cu cost urmator
//3->cost minim stabilit
j=0;for(i=0;i<=n+1;i++){x=4096*i+8*j;for(k=x;k<=x+7;k++)stare[k]=3;}
j=m+1;for(i=0;i<=n+1;i++){x=4096*i+8*j;for(k=x;k<=x+7;k++)stare[k]=3;}
i=0;for(j=0;j<=m+1;j++){x=4096*i+8*j;for(k=x;k<=x+7;k++)stare[k]=3;}
i=n+1;for(j=0;j<=m+1;j++){x=4096*i+8*j;for(k=x;k<=x+7;k++)stare[k]=3;}
for(i=1;i<=n;i++)for(j=1;j<=m;j++){fscanf(f,"%ld\n",&aa);if(aa){x=4096*i+8*j;for(k=x;k<=x+7;k++)stare[k]=3;}}
fprintf(g,"-1\n");
fcloseall();
return 0;
}
void init()
{
m0[0]=-4096;m1[0]=7;m2[0]=1;
m0[1]=-4088;m1[1]=-1;m2[1]=1;
m0[2]=8;m1[2]=-1;m2[2]=1;
m0[3]=4104;m1[3]=-1;m2[3]=1;
m0[4]=4096;m1[4]=-1;m2[4]=1;
m0[5]=4088;m1[5]=-1;m2[5]=1;
m0[6]=-8;m1[6]=-1;m2[6]=1;
m0[7]=-4104;m1[7]=-1;m2[7]=-7;
}