Idiomatic Phrases Game
来源:互联网 发布:宜兴淘宝运营招聘网 编辑:程序博客网 时间:2024/05/21 06:25
Tom is playing a game called Idiomatic Phrases Game. An idiom consists of several Chinese characters and has a certain meaning. This game will give Tom two idioms. He should build a list of idioms and the list starts and ends with the two given idioms. For every two adjacent idioms, the last Chinese character of the former idiom should be the same as the first character of the latter one. For each time, Tom has a dictionary that he must pick idioms from and each idiom in the dictionary has a value indicates how long Tom will take to find the next proper idiom in the final list. Now you are asked to write a program to compute the shortest time Tom will take by giving you the idiom dictionary.
55 12345978ABCD23415 23415608ACBD34127 34125678AEFD412315 23415673ACC341234 41235673FBCD2156220 12345678ABCD30 DCBF5432167D0
17-1
#include<stdio.h>#include<string.h>#define INF 0x3f3f3f3fusing namespace std;int n;struct//每个点的权值,和字符{ int w; char str[100];}node[1000];int mp[1000][1000];int dis[1000];int vis[1000];void dijkstra(){ memset(vis,0,sizeof(vis)); memset(dis,INF,sizeof(dis)); dis[0]=0; for(int i=0;i<=n;i++) { int temp=INF;int m; for(int j=0;j<=n;j++) { if(!vis[j]&&dis[j]<temp) { temp=dis[j]; m=j; } } vis[m]=1; for(int j=0;j<=n;j++) { if(dis[j]>dis[m]+mp[m][j]) dis[j]=dis[m]+mp[m][j]; } }}int main(){ while(~scanf("%d",&n)&&n) { memset(mp,INF,sizeof(mp)); for(int i=0;i<n;i++) { scanf("%d %s",&node[i].w,node[i].str); } for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(i!=j) { int len=strlen(node[i].str); if(node[i].str[len-4]==node[j].str[0]&&node[i].str[len-3]==node[j].str[1]&&node[i].str[len-2]==node[j].str[2]&&node[i].str[len-1]==node[j].str[3]) mp[i][j]=node[i].w;//标定u,v,w } } } dijkstra(); if(dis[n-1]==INF) printf("-1\n"); else printf("%d\n",dis[n-1]); } return 0;}
阅读全文
0 0
- zoj2750-Idiomatic Phrases Game
- Idiomatic Phrases Game
- zoj 2750 Idiomatic Phrases Game
- zoj 2750 Idiomatic Phrases Game
- HDOJ 1546 Idiomatic Phrases Game
- HDU 1546 Idiomatic Phrases Game
- hdu 1546 Idiomatic Phrases Game
- ZOJ-2750- Idiomatic Phrases Game
- ZOJ 2750 Idiomatic Phrases Game
- zoj 2750 Idiomatic Phrases Game
- ZOJ:2750 Idiomatic Phrases Game
- HDU1546:Idiomatic Phrases Game(Dijkstra)
- zoj 2750 Idiomatic Phrases Game
- HDU 1546 Idiomatic Phrases Game
- HDU1546:Idiomatic Phrases Game(Dijkstra)
- HDU-1546 Idiomatic Phrases Game
- zoj 2750 Idiomatic Phrases Game
- 成语接龙(Idiomatic Phrases Game)
- android:inputType常用取值
- 问题 Fibonacci hdu 1568
- WebRTC中OPUS编码相关设置和分析
- J2ME网络编程使用http和socket的两种方法
- ZigZag Conversion
- Idiomatic Phrases Game
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
- Linux Swap交换分区介绍总结
- 某个培训机构的课程安排
- 将N个字符的数组,循环右移K位。
- lua语言学习十文件io
- POJ2002-二维哈希&数学定理&判断矩形-Squares
- Hexo-简易搭建
- 217. Contains Duplicate