Cod sursa(job #2913110)

Utilizator lolismekAlex Jerpelea lolismek Data 12 iulie 2022 19:36:18
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

const int N = 3e4;
vector <pair <int, int>> adj[N + 1];
bool viz[N + 1];

void dfs(int nod, int target, int dist){

	if(nod == target){
		fout << dist << '\n';
		exit(0);
	}

	viz[nod] = true;
	for(auto vec : adj[nod])
		if(!viz[vec.first])
			dfs(vec.first, target, dist + vec.second);
}

int main(){

	int n, m, x, y;
	fin >> n >> m >> x >> y;

	for(int i = 1; i <= m; i++){
		int a, b, c;
		fin >> a >> b >> c;
		adj[min(a, b)].push_back({max(a, b), c});
		adj[max(a, b)].push_back({min(a, b), -c});
	}

	dfs(x, y, 0);

	return 0;
}