hdu 1546 Idiomatic Phrases Game (最短路)
2014-06-30 17:58
337 查看
题目:
链接:点击打开链接
题意:
思路:
把字典转换为图后就好办了,dijkstra()。
代码:
---------------------------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~~~~~~
链接:点击打开链接
题意:
思路:
把字典转换为图后就好办了,dijkstra()。
代码:
#include <iostream> #include <cstring> #include <cstdio> using namespace std; #define INF 100000000 int map[1005][1005]; char dic[1005][1000]; int w[1005]; int d[1005]; int n; void dijkstra() { int vis[1010]; memset(vis,0,sizeof(vis)); int i; for(i=0; i<n; i++) d[i] = INF; d[0]=0; for(i=0; i<n; i++) { int y,x,m = INF; for(y=0; y<n; y++) if(!vis[y] && d[y]<=m) { m = d[x=y]; } vis[x] = 1; for(y=0; y<n; y++) { if(d[y] > d[x] + map[x][y]) { d[y] = d[x] + map[x][y]; } } } } int main() { //freopen("input.txt","r",stdin); while(scanf("%d",&n) != EOF && n) { int i,j; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) map[i][j] = INF; } memset(dic,0,sizeof(dic)); memset(w,0,sizeof(w)); for(i=0; i<n; i++) scanf("%d %s",&w[i],dic[i]); for(i=0; i<n; i++) { for(j=0; j<n; j++) { int len=strlen(dic[i]); int k; for(k=0; k<4; k++) { if(dic[i][len-4+k]!=dic[j][k]) break; } if(k == 4) { map[i][j] = w[i]; } } } dijkstra(); printf("%d\n",d[n-1] == INF ? -1 : d[n-1]); } return 0; }
---------------------------------------------------------------
战斗,从不退缩;奋斗,永不停歇~~~~~~~~~~~~~~~
相关文章推荐
- hdu 1546 Idiomatic Phrases Game 最短路spfa
- hdu 1546 Idiomatic Phrases Game(最短路)
- HDU 1546 Idiomatic Phrases Game 简单最短路
- HDU 1546 Idiomatic Phrases Game 基础最短路spfa
- 【HDU】1546 Idiomatic Phrases Game 最短路
- HDU 1546 Idiomatic Phrases Game(最短路,Dijsktra,理解题意很重要)
- HDU 1546 Idiomatic Phrases Game 最短路
- (dijkstra 1.1)hdu 1546 Idiomatic Phrases Game(dijkstra——当建图规则为:当一个单词的后4个字符和另一个单词的前4个字符一致时才建边,求最短路径)
- Hdu 1546/Zoj 2750 Idiomatic Phrases Game
- 杭电 1546 Idiomatic Phrases Game 最短路 Dijstra
- HDU 1546 Idiomatic Phrases Game(Dijkstra)
- hdu 1546 Idiomatic Phrases Game
- hdu 1546 Idiomatic Phrases Game (spfa)
- HDU 1546 Idiomatic Phrases Game(最短路径)DIJ算法
- HDU 1546 Idiomatic Phrases Game
- hdu 1546 Idiomatic Phrases Game
- Idiomatic Phrases Game HDU 1546
- HDU-1546-Idiomatic Phrases Game
- Idiomatic Phrases Game HDU 1546
- HDU 1546 Idiomatic Phrases Game