#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
void dfs(int node, vector<bool>& vis, vector<pair<int,int>> adj[], int &ans, int target, int sum)
{
if(node == target)
{
ans = sum;
return;
}
for(auto &neighbour : adj[node])
{
if(!vis[neighbour.first])
{
vis[neighbour.first] = true;
sum += neighbour.second;
dfs(neighbour.first, vis, adj, ans, target, sum);
sum -= neighbour.second;
}
}
}
double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) {
vector<pair<int,int>> adj[N + 1];
for(int i=0;i<M;++i)
{
adj[x[i]].push_back({y[i], c[i]});
adj[y[i]].push_back({x[i], c[i]});
}
vector<bool> vis(N + 1, false);
int ans = -1;
dfs(0, vis, adj, ans, H, 0);
if(!vis[H])
{
return -1;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |