HDOJ A strange lift
来源:互联网 发布:九次方大数据怎么样 编辑:程序博客网 时间:2024/05/17 07:23
A strange lift
http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1009&cid=12497&hide=0
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 5 Accepted Submission(s) : 2
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Here comes the problem: when you is on floor A,and you want to go to floor B,how many times at least he havt to press the button "UP" or "DOWN"?
Input
The first line contains three integers N ,A,B( 1 <= N,A,B <= 200) which describe above,The second line consist N integers k1,k2,....kn.
A single 0 indicate the end of the input.
Output
Sample Input
5 1 53 3 1 2 50
Sample Output
3
将其转化为图后又是最短路径水题,本人最喜欢做水题了,呵呵。
代码如下:
#include<iostream>
using namespace std;
const int maxnum=205;
const int maxint=9999999;
int map[maxnum][maxnum];
int dist[maxnum];
bool s[maxnum];
int n;
void Dijkstra(int v){
for(int i=1;i<=n;i++){
dist[i]=map[v][i];
s[i]=0;
}
dist[v]=0;
s[v]=1;
for(int i=2;i<=n;i++){
int temp=maxint;
int u=v;
for(int j=1;j<=n;j++)
if((!s[j]) && dist[j]<temp){
temp=dist[j];
u=j;
}
// if(temp=maxint) break; WA了N次,还不知道这一步为什么不能加额,哪位知道的请说一声
//当没找到相连的跳出没错啊,但结果纠结了
s[u]=1;
for(int j=1;j<=n;j++)
if((!s[j]) && dist[u]+map[u][j]<dist[j] )
dist[j]=dist[u]+map[u][j];
}
}
int main(){
int a,b,x;
while(scanf("%d",&n)!=EOF && n ){
scanf("%d%d",&a,&b);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
map[i][j]=maxint;
scanf("%d",&x);
if(i+x<=n)
map[i][i+x]=1; //从第i楼到第i+x楼只需按一次就到达,所以令其边为1,下同
if(i-x>=1)
map[i][i-x]=1;
}
Dijkstra(a);
if(dist[b]<maxint)
printf("%d\n",dist[b]);
else
printf("-1\n");
}
return 0;
}
- HDOJ A strange lift
- hdoj 1548 A strange lift
- HDOJ 1548 A strange lift
- hdoj 1548 A strange lift(bfs)
- HDOJ 1548 A strange lift (bfs)
- HDOJ 1548 A strange lift (BFS)
- hdoj 1548 A strange lift (BFS)
- HDOJ 1548 A strange lift (BFS)
- (BFS)A strange lift--HDOJ
- HDU/HDOJ 1548 A strange lift BFS,DFS
- HDOJ A strange lift(Dijkstra最短路问题)
- HDU A strange lift
- HDUOJ1548 A strange lift
- hdu1548 A strange lift
- A strange lift
- A strange lift(BFS)
- A strange lift
- A strange lift
- 线程状态的转换
- ListView中item点击的时候颜色变化
- IdFTP
- 动态域名解析间谍 Peanuthull DDNS
- 2011.09.05
- HDOJ A strange lift
- 使用jQuery UI Datepicker 小结
- d3d错误
- 【无定根朱刘算法】hdu 3072
- Flex StyleManager.getStyleDeclaration 解决办法
- 秋天的况味
- /usr/local/php-5.2.14/sbin/php-fpm start Starting php_fpm –fpm-config
- 10进制和16进制互转
- 运用HINT提高SQL语句的执行效率