题意:成语接龙的游戏,一个中文字是四个字符组成,所以只要一个字符串后四个字符与另一个字符串的头四个字符能匹配,那么就能接上,求出从第一个到最后一个的最短时间。

不知道是建图的问题还是什么,一直WA。。。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 1005;
const int inf = 0x7fffff;
struct Node
{int t;char first[5],last[5];
}word[maxn];
int n,map[maxn][maxn],dis[maxn];
char str[maxn];
bool vis[maxn];void build()
{for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++){if(strcmp(word[i].last,word[j].first) == 0)map[i][j] = word[i].t;else map[i][j] = inf;}
}void Dijkstra(int s)
{int k = s,MIN;memset(vis,false,sizeof(vis));for(int i = 1; i <= n; i++)if(i != s)dis[i] = map[s][i];vis[k] = true;for(int i = 1; i < n; i++){MIN = inf;for(int j = 1; j <= n; j++){if(vis[j] == true) continue;if(MIN > dis[j]){MIN = dis[j];k = j;}}vis[k] = true;for(int j = 1; j <= n; j++)if(vis[j] == false && dis[j] > dis[k] + map[k][j])dis[j] = dis[k] + map[k][j];}
}int main()
{while(scanf("%d",&n),n){for(int i = 1; i <= n; i++){scanf("%d %s",&word[i].t,str);for(int j = 0; j < 4; j++){word[i].first[j] = str[j];word[i].last[j] = str[j+12];}}build();Dijkstra(1);printf("%d\n",dis[n] == inf ? -1 : dis[n]);}return 0;
}

hdu 1546(最短路)相关推荐

  1. HDU 1546 (最短路 Dijkstra算法)

    题目: Tom is playing a game called Idiomatic Phrases Game. An idiom consists of several Chinese charac ...

  2. Hdu 1217 最短路.cpp

    题意: 各国的汇率兑换.. 给出各国之间汇率兑换的比例,然后问你是否可以通过不断地兑换最后挣钱.. 譬如美金兑换英镑 是0.5 英镑兑换法币是 10 法币兑换美金是 0.21 所以通过1美金兑换成0. ...

  3. hdu 2112 HDU Today 最短路(Dijkstra算法)

    HDU Today                                                                 Time Limit: 15000/5000 MS ...

  4. hdu 2544 最短路 (dijkstra)

    http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...

  5. HDU 2544 最短路(各种最短路算法的实现)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目: Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂 ...

  6. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. HDU_2112 HDU Today—最短路(Dijkstra)

    点击这里 你便可以亲身去HDU体验一下 先看题目: HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/3 ...

  8. 20211123 HDU练习 最短路和最小生成树

    一些模板题,都是dijkstra和prim 第一次写博客就复制黏贴实验报告非常抱歉,下次一定好好写.() 以后自己做的题也会写点题解吧  欢迎找我玩~ HDU Today Time Limit : 1 ...

  9. hdu 2544最短路(Dijkstra)

    最短路                    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

最新文章

  1. linux常用命令汇总
  2. STL之七:STL各种容器的使用时机详解
  3. 判断字典中指定key是否存在
  4. 2020HW必备-蜜罐如何在攻防演练中战术部防
  5. luogu P1774 最接近神的人_NOI导刊2010提高(02)
  6. oracle insert 当前时间_Oracle知识点总结
  7. 【51nod - 1065】 最小正子段和( 前缀和排序 )
  8. KVM虚拟化安装配置(一)
  9. oracle ogg和adg,ORACLE12C ADG和OGG的搭配使用
  10. 史上最权威的 Activiti 框架学习
  11. dispatch_sync
  12. 你就非得 TCP?为啥不直接 UDP 呢!
  13. IOS9 SDK下载、设备安装IOS9系统
  14. 堆排序算法——C/C++
  15. (7)目标检测之CNN、ResNet用于目标3D检测框的回归估计、3D检测框绘制
  16. <<视觉问答>>2021:How Transferable are Reasoning Patterns in VQA?
  17. 代码式动态录入生成个人简历页面html页面前端源码
  18. java anymatch_Java Stream anyMatch() API
  19. 浅谈机器人控制与仿真设计----RDS和ROS
  20. 【架构】分享个人制作《数字档案馆系统总体架构图》

热门文章

  1. 全国计算机考试vb考试知识点汇总,全国计算机二级考试VB机试常见题型汇总
  2. 刚发版就被客户购买,升级后的神策用户画像究竟有什么魔力?
  3. 2021 届校招宣讲会来啦!神策数据,与你一起「数说」未来
  4. 数学模型与数据结构的丝连
  5. 安装Discuz!论坛
  6. Linux文件系统之dd
  7. [Java入门笔记] 面向对象三大特征之:封装
  8. Objective-c 类的继承 方法重写 方法重载
  9. [ 搞笑 ] 疯狂的石头与张柏芝
  10. WinAPI: GetWindow - 获取与指定窗口具有指定关系的窗口的句柄