#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
void dfs(int node, vector<bool>& vis, vector<pair<int,int>> adj[], long long &ans, int target, long long sum)
{
vis[node] = true;
if(node == target)
{
ans = sum * 1LL;
return;
}
for(auto &neighbour : adj[node])
{
if(!vis[neighbour.first])
{
sum += neighbour.second * 1LL;
dfs(neighbour.first, vis, adj, ans, target, sum);
sum -= neighbour.second * 1LL;
}
}
vis[node] = false;
}
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);
long long ans = -1;
dfs(0, vis, adj, ans, H, 0);
if(!vis[H])
{
return (double)-1;
}
return (double)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... |