Can anyone please Help me in finding why my solution giving me wrong answer?

This is my solution for question Path with Maximum Probability(Weekly Contest 197 Question 3)
'''
class Solution {
public:
unordered_map<int,vector<pair<int,double>>> m;
map<int,double> dp;
map<pair<int,int>,double> cost;
set< int > vis;
double maxProbability(int n, vector<vector>& edges, vector& succProb, int start, int end) {
dp.clear();
m.clear();
cost.clear();
vis.clear();
for(int i=0;i<edges.size();i++){
m[edges[i][0]].push_back({edges[i][1],succProb[i]});
m[edges[i][1]].push_back({edges[i][0],succProb[i]});
}
double ans=returnmaxprobability(n,start,end);
return ans;
}
double returnmaxprobability(int n,int start,int end){
if(start==end) return 1;
if(vis.count(start)!=0) return 0;
if(dp.count(start)!=0)return dp[start];
double maxcost=0;
vis.insert(start);
for(int i=0;i<m[start].size();i++){
maxcost=max(maxcost,returnmaxprobability(n,m[start][i].first,end)*m[start][i].second);
}
vis.erase(start);
return dp[start]=maxcost;
}
};
'''

Comments (0)