usaco 2.4.4 comehome
2012-08-03 10:36
211 查看
研究了几天最短路径,果然对图论还是很难有兴趣啊!第一次写迪杰斯特拉算法,写的超级烂,有空改改再优化下,好好想清楚细节方面……下面贴出代码以作纪念。
View Code
View Code
/*{ ID:jzy3209981 PROG:comehome LANG:C++ }*/ #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> using namespace std; int shortest[60]; int distances[5000][2]; int gragh[60][60]; int visit[60]; int visitt[60][60]; void dstr() { int po=0,j=0,i,shortpoint,p,minn,nowpoint,changep,nowdis=0; visit['Z'-65]=1; nowpoint='Z'-65; int change[2]; while(po<=j) { minn=100000; for(i=0;i<58;i++) if(gragh[nowpoint][i]!=0&&visitt[nowpoint][i]!=1) { distances[j][0]=gragh[nowpoint][i]+nowdis; distances[j][1]=i; visitt[nowpoint][i]=1; j++; } for(p=po;p<j;p++) if(distances[p][0]<minn&&visit[distances[p][1]]!=1) { minn=distances[p][0]; shortpoint=distances[p][1]; changep=p; } nowdis=distances[changep][0]; nowpoint=shortpoint; change[0]=distances[changep][0]; change[1]=distances[changep][1]; distances[changep][0]=distances[po][0]; distances[changep][1]=distances[po][1]; distances[po][0]=change[0]; distances[po][1]=change[1]; po++; visit[nowpoint]=1; shortest[nowpoint]=minn; } } int main() { freopen ("comehome.in","r",stdin); freopen ("comehome.out","w",stdout); int p,i,dis,po; char start[2],end[2]; int minn=10000000; scanf("%d",&p); for(i=0;i<p;i++) { scanf("%s%s%d",start,end,&dis); if((gragh[start[0]-65][end[0]-65]!=0&&gragh[start[0]-65][end[0]-65]>dis)||gragh[start[0]-65][end[0]-65]==0) { gragh[start[0]-65][end[0]-65]=dis; gragh[end[0]-65][start[0]-65]=dis; } } dstr(); for(i=0;i<25;i++) if(shortest[i]<minn&&shortest[i]!=0) { minn=shortest[i]; po=i; } printf("%c %d\n",po+65,minn); return 0; }
相关文章推荐
- USACO2.4.4 Bessie Come Home (comehome)
- USACO2.4.4 Bessie Come Home (comehome)
- usaco2.4.4 Bessie Come Home
- 【USACO2.4.4】回家 最短路
- USACO 2.4.4 Bessie Come Home
- usaco2.4.4牛的旅行
- usaco 2.4.4 Bessie Come Home
- usaco 2.4 comehome 2008.7.16
- 【USACO 2.4.4】回家
- USACO 2.4 Bessie Come Home (comehome)
- USACO2.4.4单源最短路FLOYD快速实现
- usaco 2.4 comehome
- usaco2.4 comehome 最短路 Floyd, Dijkstra, Dijkstra优先队列优化
- 【USACO2.4.4】回家
- Bessie Come Home_usaco2.4.4_floyd
- JZOJ1274.【USACO题库】2.4.4 Bessie Come Home回家
- USACO Section 2.4 Bessie Come Home (comehome)
- USACO2.4.4--Bessie Come Home
- usaco_comehome
- BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式