Deloitte | COGNIZANT | IBM | CAPGEMINI
Foto
haz clic para mostrar
haz clic para mostrar
VIRTUSA exam cleared ✅✅
Got communication round mail 💯
Proofs :
https://t.me/python_java_Coding/8812?single
Contact : @MLCODER2
1.9K · Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Deloitte | COGNIZANT | IBM | CAPGEMINI
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
Foto
haz clic para mostrar
haz clic para mostrar
VIRTUSA EXAM ON-CAMPUS DONE & DUSTED✅✅
Contact : @MLCODER2
9 · 2.7K · Deloitte | COGNIZANT | IBM | CAPGEMINI
import java.util.*;
public class TestClass {
static class Edge {
int to, cost;
Edge(int to, int cost) {
this.to = to;
this.cost = cost;
}
}
static List<List<Edge>> graph;
static List<Integer> bestPath = new ArrayList<>();
static int maxVisitLength = 0;
public static void optimalPath(int N, int M, int price, int[] source, int[] dest, int[] weight) {
graph = new ArrayList<>();
for (int i = 0; i <= N; i++) graph.add(new ArrayList<>());
for (int i = 0; i < M; i++) {
int u = source[i];
int v = dest[i];
int w = weight[i];
graph.get(u).add(new Edge(v, w));
graph.get(v).add(new Edge(u, w));
}
boolean[] visited = new boolean[N + 1];
List<Integer> path = new ArrayList<>();
path.add(1);
visited[1] = true;
dfs(1, price, 0, visited, path);
for (int val : bestPath) {
System.out.print(val + " ");
}
}
static void dfs(int node, int budget, int costSoFar, boolean[] visited, List<Integer> path) {
int returnCost = costSoFar;
if (2 * returnCost <= budget) {
if (path.size() > maxVisitLength) {
maxVisitLength = path.size();
bestPath = new ArrayList<>(path);
for (int i = path.size() - 2; i >= 0; i--) {
bestPath.add(path.get(i));
}
}
} else {
return;
}
for (Edge edge : graph.get(node)) {
if (!visited[edge.to]) {
int newCost = costSoFar + edge.cost;
if (2 * newCost <= budget) {
visited[edge.to] = true;
path.add(edge.to);
dfs(edge.to, budget, newCost, visited, path);
path.remove(path.size() - 1);
visited[edge.to] = false;
}
6 · 2.3K ·