Cod sursa(job #118221)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 23 decembrie 2007 19:02:11
Problema Car Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#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;
}