Pagini recente » Cod sursa (job #3221727) | Cod sursa (job #2812782) | Cod sursa (job #2644272) | Cod sursa (job #525233) | Cod sursa (job #294390)
Cod sursa(job #294390)
#include <fstream>
#define MAX 2001
using namespace std;
int n, m;
int x, y;
int distanta;
int c[MAX][MAX];
int p[MAX];
void Df(int, int);
ifstream fin("sate.in");
ofstream fout("sate.out");
int main()
{
fin >> n >> m;
fin >> x >> y;
int xx, yy, cost;
for(int i = 1; i<= m; i++)
{
fin >> xx >> yy >> cost;
c[xx][yy] = cost;
c[yy][xx] = cost;
}
Df(x, 0);
fout << distanta << "\n";
fin.close();
fout.close();
return 0;
}
void Df(int x, int d)
{
if (x == y)
{
distanta = d;
return;
}
for (int i = 1; i<= n; i++)
{
if(c[x][i] && !p[i])
{
if(x < i) d+=c[x][i];
else d-=c[x][i];
p[i] = 1;
Df(i, d);
if(x < i) d-=c[x][i];
else d+=c[x][i];
p[i] = 0;
}
}
}