求图中最长路径
来源:互联网 发布:龙虎榜数据哪里可以看 编辑:程序博客网 时间:2024/05/21 07:00
求最长路径函数:
vector<int>Path;vector<int>LongPath;bool first=true;float pathSum,longPathSum;int paths=0;vector<vector<int>> status(6,vector<int>(6,0)); //顶点状态void getRoad(vector<vector<float>> prox,int start,int end){Path.push_back(start);status[start][end]=1;if(prox[start][end]>0){ pathSum+=prox[start][end]; Path.push_back(end);vector<int>::iterator iter;if(first){for(iter=Path.begin();iter!=Path.end();++iter){LongPath.push_back(*iter);}first=false;longPathSum=pathSum;}else{if(pathSum>longPathSum){LongPath.clear();for(iter=Path.begin();iter!=Path.end();++iter) { LongPath.push_back(*iter); } longPathSum=pathSum;}}Path.pop_back();pathSum-=prox[start][end];} for(int i=0;i<prox.size();i++) {if((status[start][i]==0)&&(status[i][end]==0)&&(prox[start][i]>0)) {pathSum+=prox[start][i];getRoad(prox,i,end);pathSum-=prox[start][i]; } } Path.pop_back(); status[start][end]=0;}
调用方法:
vector<vector<float>> mz(6,vector<float>(6,0.0)); //图中的权值//测试最长路径mz[0][1]=0.3;mz[1][2]=1.0;mz[2][3]=0.3;mz[3][0]=0.3;mz[1][4]=0.6;mz[4][2]=0.7;mz[2][5]=0.4;mz[5][3]=0.3;getRoad(mz,4,1);
阅读全文
0 0
- 求图中最长路径
- 最长路径
- 最长路径
- hdu4514(求图中最长的路径)
- 图的最长路径
- 图的最长路径
- zoj1655 spfa 最长路径
- 最长路径问题dp
- 二叉树最长路径
- 最长滑雪路径
- 树上最长单色路径
- 树上最长单色路径
- 树上最长单色路径
- AOE与最长路径
- 树上最长单色路径
- 树中的最长路径
- 寻找递减最长路径
- [JZOJ5061]最长路径
- CSRF的攻击和防御
- Spring 报错 : org.springframework.beans.factory.BeanDefinitionStoreException
- 微信运动刷步数软件,真正一键搞定2017
- Linux下分卷压缩较大的文件
- POJ 1157 LITTLE SHOP OF FLOWERS
- 求图中最长路径
- 注解@Query
- 八大排序算法_直接插入排序(Straight Insertion Sort)
- Dijkstra算法
- Android ORMLite框架组合查询条件
- 多校连萌 (4)GJJ来签到
- 常用的运行命令
- 【POJ3177】Redundant Paths-边双连通分量+缩点
- img图片标记