Cod sursa(job #3281347)

Utilizator chiarimitrebuiecontquestionmarkmiruna mihailescu chiarimitrebuiecontquestionmark Data 1 martie 2025 10:49:18
Problema Sate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<stack>
#include<vector>
using namespace std;
int v[30001];
int distantex[30001];
struct nume{
int nod, distante;
};
stack <int> s;
vector <nume> graf[30001];
void fill(int x){
  s.push(x);
  while(!s.empty()){
    int top=s.top();
    s.pop();
    for(nume vecin:graf[top]){
      if(v[vecin.nod]==0){
        distantex[vecin.nod]=distantex[top]+vecin.distante;
        v[vecin.nod]=1;
        s.push(vecin.nod);
      }
    }
  }
}
int main(){
  ifstream fin("sate.in");
  ofstream fout("sate.out");
  int n, m, x, y, i, j, d;
  fin>>n>>m>>x>>y;
  for(int k=1; k<=m; k++){
    fin>>i>>j>>d;
    nume a;
    a.nod=j, a.distante=d;
    graf[i].push_back(a);
    a.distante=-d, a.nod=i;
    graf[j].push_back(a);
  }
  v[x]=1;
  fill(x);
    fout<<distantex[y];
  return 0;
}