Cod sursa(job #503636)

Utilizator APOCALYPTODragos APOCALYPTO Data 24 noiembrie 2010 09:01:58
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
using namespace std;
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
#define oo 0x3f3f3f3f
#define nmax 50005
#define T ((i)/2)
#define L ((i)*2)
#define R ((L)+1)
#define pb push_back

vector<int> G[nmax];
int N,M;
int d[nmax];
ofstream fout("dijkstra.out");



void dijkstra()
{




}

void init()
{int i;
    for(i=2;i<=N;i++)
      d[i]=oo;
}

inline void upheap(int i)
{
    if(i<=1) return;
    if(d[H[T]]>d[H[i]]) swap(H[T],H[i]), swap(poz[H[T]],poz[H[i]]), upheap(T);

}

void make()
{int i;
    for(i=1;i<=N;i++)
     {
     poz[i]=i;
     H[i]=i;
     }

    for(i=N;i>=1;i++)
      upheap(i);

}


void cit()
{
    int x,y;
    ifstream fin("dijkstra.in");
    fin>>N>>M;
    for(i=1;i<=M;i++)
    {
     fin>>x>>y;
     G[x].pb(y);
     G[y].pb(x);

    }

    fin.close();
}

int main()
{

    cit();
    init();
    make();
    fout.close();
    return 0;
}