Pagini recente » Cod sursa (job #881066) | Cod sursa (job #1903439) | Cod sursa (job #2602935) | Cod sursa (job #575607) | Cod sursa (job #294382)
Cod sursa(job #294382)
#include <fstream>
#define MAX 1001
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;
}
}
}