去北京看奥运
2014-12-27 20:21
197 查看
去北京看奥运
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1080 Solved: 506
Description
2008年将到,王飞同学化了九牛二虎之力搞到了2张2008年奥运会足球赛决赛的门票。真是开心啊!他爸爸准备开车跟他一起去北京看球赛。不过门票费好贵啊,所以他爸爸说了,这个钱要在下学期的生活费里扣(好抠门),不过如果他能让从杭州去北京的油费最省(油价最近涨的好厉害啊),那么就不扣生活费了。哈哈,这个就难不倒他了。在ACM里可不是白混的。很快他算出了汽车从杭州到北京必须要加几次油,并查出了到北京要经过哪几个城市,每个城市有哪些加油站以及从某城市各加油站到另一城市各加油站的距离和路况算出了各加油站之间的耗油量。下面是不是很easy?#include<stdio.h> #include<stdlib.h> #include<string.h> #define max1 99999999 int a[1000][1000]; int d[1000];//d表示某特定边距离 int p[1000];//p表示永久边距离 int m;//m表示边数 int n;//n表示点数 int main() { freopen("a.txt","r",stdin); scanf("%d%d",&n,&m); memset(p,0,sizeof(p)); int min1; int x,y,z; int i,j,k; for(i=0;i<=n;i++) for(j=0;j<=n;j++) { a[i][j]=max1; } for(i=1;i<=m;i++) { scanf("%d%d%d",&x,&y,&z); a[x][y]=z; // a[y][x]=z; } /* for(i=1;i<=n;i++) { printf("\n"); for(j=1;j<=n;j++) { printf("%-9d",a[i][j]); } } */ printf("\n"); for(i=1;i<=n;i++) d[i]=max1; d[1]=0; for(i=1;i<=n;i++) { min1=max1; for(j=1;j<=n;j++) if(!p[j]&&d[j]<min1) { min1=d[j]; k=j; } p[k]=1; for(j=1;j<=n;j++) if(a[k][j]!=0&&!p[j]&&d[j]>d[k]+a[k][j]) d[j]=d[k]+a[k][j]; } /* for(i=1;i<n;i++) printf("%d->",d[i]);*/ printf("%d\n",d ); return 0; }
Dijkstra
相关文章推荐
- 从北京奥运吉祥物想到的
- 北京奥运期间拟劝返100万名农民工(转贴)
- 北京奥运门票价格与比赛时间大全
- 李彦宏:北京奥运购票系统瘫痪随想
- 盘点中国军团奥运夺金点 北京赛场40枚金牌可期
- 英报建议伦敦放弃承办奥运 让北京接着办
- 北京奥运官方网站幻灯切换效果flash版打包下载
- [转载]法国华人将发起数千人集会活动力挺北京奥运
- 北京奥运网站的图片切换轮转效果
- 北京奥运
- 奥运前的北京
- 跨越历史长河的北京奥运之夜。。。
- 北京奥运总投资已近270亿
- Akamai CDN 北京奥运
- A1GP要在北京扎根 希望参与北京奥运推广计划
- 罗格专程出席亚运会 对北京奥运准备工作很满意
- 看北京奥运!
- 奥运北京字体(详细说明,附图)
- 北京开辟三大公园作为奥运示威区域
- 百年奥运梦想,就在今晚实现 —— 北京奥运即将开幕(图)