Cod sursa(job #689921)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 24 februarie 2012 23:15:43
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
#define N 30001
typedef struct nod
{int info,cost;
struct nod *next;}Nod;
Nod *l[N],*t;
bool c[N];
int i,n,m,x,y,j,p,u,k,s[N],e[N];
void A(int i,int j,int k)
{Nod *p=new Nod;
p->info=j,p->cost=k,p->next=l[i],l[i]=p;}
int main()
{FILE *f=fopen("sate.in","r"),*g=fopen("sate.out","w");
fscanf(f,"%d%d%d%d",&n,&m,&x,&y);
while(m--)
      fscanf(f,"%d%d%d",&i,&j,&k),A(i,j,k),A(j,i,-k);      
for(s[u++]=x,c[x]=1;p<u&&!c[y];p++)
for(j=s[p],c[j]=1,t=l[j];t;t=t->next)
if(!c[t->info])       
      s[u++]=t->info,e[t->info]=t->cost+e[j];
fprintf(g,"%d",e[y]);
return 0;}