微软第四题 给定cost能遍历的最大城市数
2015-09-09 22:27
267 查看
有向图中N*N矩阵 cost:M, 最多可以遍历的结点个数 例如A可以有0->1->2->0->1 代价:2+2+3+2=9<10 输出4
#include <iostream> using namespace std; int main(){ int N=3;int M=10; int A[][3]={{0,2,3},{4,0,2},{3,4,0}}; int last_step[3]; int dist[3][3]; for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { dist[i][j]=A[j][i]; } } for(int i=0;i<N;i++){last_step[i]=i;} int Max=0; for(int step=1;step-Max<=1;step++){ for(int j=0;j<N;j++){ int min=INT_MAX;int u; for(int m=0;m<N;m++) { if(last_step[j]!=m&&dist[m][j]<min) { min=dist[m][j]; u=m; } } last_step[j]=u; for(int k=0;k<N;k++) { dist[k][j]=min+A[k][u]; if(dist[k][j]<=M) {Max=step;} } } } cout<<Max<<endl; return 0; }
相关文章推荐
- nyoj 635 Oh, my goddess 【bfs(简单题)】
- Gas Station
- Java语言编程基础及应用(3)
- Humble Numbers HDU杭电1058【动态规划】
- AFNetworking的用法
- 算法的基本概念
- 突击战 (UVA 11729)
- Tomcat、Weblogic、JBoss、GlassFish、Resin、Websphere弱口令及拿webshell方法总结 [复制链接]
- Android(java)学习笔记220:开发一个多界面的应用程序之界面间数据传递
- iOS系统 查看40位设备标识(UDID)
- Horizon 源码阅读(四)—— 调用Novaclient流程
- lintcode-不同的路径-114
- 推送流程图解
- 关于ScrollView的getChildAt(int params)方法
- 黑马程序员_Oracle 数据库分页功能原理
- scala学习之Type 与 class
- HTML5学习笔记——1
- editplus里配置python运行环境
- 系统架构:架构体系
- CentOS没有相关命令的解决