hduoj A strange lift---1548
来源:互联网 发布:天刀捏脸数据女 萌妹子 编辑:程序博客网 时间:2024/06/05 18:33
//dijkstra算法 最短路径
<pre name="code" class="cpp">#include<stdio.h>#include<stdlib.h>#include<string.h>#define INF 1000000#define max 205int n;int edge[max][max];int s[max];int dist[max];int path[max];void dijik(int v0){int i,j,k;for(i=1;i<=n;i++){dist[i]=edge[v0][i];s[i]=0;if(i!=v0&&dist[i]<INF) path[i]=v0;else path[i]=-1;}s[v0]=1;dist[v0]=0;for(i=1;i<n;i++){int min=INF,u=v0;for(j=1;j<=n;j++){if(!s[j]&&dist[j]<min){u=j;min=dist[j];}}s[u]=1;for(k=1;k<=n;k++){if(!s[k]&&edge[u][k]<INF&&dist[u]+edge[u][k]<dist[k]){dist[k]=dist[u]+edge[u][k];path[k]=u;}}}}int main(){int i,j;int b,c,t;while(1){scanf("%d",&n);if(n==0) break;else scanf("%d %d",&b,&c); memset(edge,0,sizeof(edge));for(i=1;i<=n;i++){scanf("%d",&t);if(i-t>=1) edge[i][i-t]=1;if(i+t<=n) edge[i][i+t]=1;}for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(i==j) edge[i][j]=0;else if(edge[i][j]==0) edge[i][j]=INF;}}/*for(i=1;i<=n;i++){for(j=1;j<=n;j++){printf("%d ",edge[i][j]);}printf("\n");}*/dijik(b);int shortest[max];//for(i=1;i<=n;i++)//{//if(i==b) continue;//printf("%d ",dist[i]);memset(shortest,0,sizeof(shortest));int k=0;shortest[k]=c;while(path[shortest[k]]!=0){k++;shortest[k]=path[shortest[k-1]];}k++;shortest[k]=(b);//for(j=k;j>0;j--)//{//printf("%d->",shortest[j]);//}if(dist[c]==INF) printf("-1\n");else printf("%d\n",dist[c]);//}}return 0;}/*5 1 53 3 1 2 5*/
0 0
- hduoj A strange lift---1548
- A strange lift hdu 1548
- HDU 1548 A strange lift
- HDU 1548 A strange lift
- HDU 1548 A strange lift
- Hdu-1548 A strange lift
- HDU 1548 A strange lift
- HDU-1548-A strange lift
- hdu 1548 A strange lift
- HDU 1548-A strange lift
- HDU 1548 A strange lift
- hdu 1548 A strange lift
- hdu 1548 A strange lift
- HDU 1548 A strange lift
- hdu 1548 a strange lift
- HDU 1548 A strange lift
- HDU 1548 A strange lift
- hdu 1548 A strange lift
- 使用随机森林和mRMR进行特征选择
- 帝国时代3无法全屏、陷入窗口模式解决
- iOS 多线程篇7—GCD的基本使用
- 设计模式—抽象工厂模式
- Kaggle的Digits Recognizer题目实现
- hduoj A strange lift---1548
- IPv4和IPv6
- NYOJ-127-星际之门(一)(N阶完全图所有生成树数量num=N*(N-2))
- hIBERNATE多对多关联
- 【Mysql性能优化四】数据表的设计和读写分离技术
- xenomai-GNU/Linux上的RTOS模拟架构实现
- android那些坑
- [bzoj2453]维护队列
- Android屏幕适配