hdu 1546(最短路)
题意:成语接龙的游戏,一个中文字是四个字符组成,所以只要一个字符串后四个字符与另一个字符串的头四个字符能匹配,那么就能接上,求出从第一个到最后一个的最短时间。
不知道是建图的问题还是什么,一直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(最短路)相关推荐
- HDU 1546 (最短路 Dijkstra算法)
题目: Tom is playing a game called Idiomatic Phrases Game. An idiom consists of several Chinese charac ...
- Hdu 1217 最短路.cpp
题意: 各国的汇率兑换.. 给出各国之间汇率兑换的比例,然后问你是否可以通过不断地兑换最后挣钱.. 譬如美金兑换英镑 是0.5 英镑兑换法币是 10 法币兑换美金是 0.21 所以通过1美金兑换成0. ...
- hdu 2112 HDU Today 最短路(Dijkstra算法)
HDU Today Time Limit: 15000/5000 MS ...
- hdu 2544 最短路 (dijkstra)
http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...
- HDU 2544 最短路(各种最短路算法的实现)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目: Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂 ...
- HDU2112 HDU Today 最短路+字符串哈希
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU_2112 HDU Today—最短路(Dijkstra)
点击这里 你便可以亲身去HDU体验一下 先看题目: HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/3 ...
- 20211123 HDU练习 最短路和最小生成树
一些模板题,都是dijkstra和prim 第一次写博客就复制黏贴实验报告非常抱歉,下次一定好好写.() 以后自己做的题也会写点题解吧 欢迎找我玩~ HDU Today Time Limit : 1 ...
- hdu 2544最短路(Dijkstra)
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
最新文章
- linux常用命令汇总
- STL之七:STL各种容器的使用时机详解
- 判断字典中指定key是否存在
- 2020HW必备-蜜罐如何在攻防演练中战术部防
- luogu P1774 最接近神的人_NOI导刊2010提高(02)
- oracle insert 当前时间_Oracle知识点总结
- 【51nod - 1065】 最小正子段和( 前缀和排序 )
- KVM虚拟化安装配置(一)
- oracle ogg和adg,ORACLE12C ADG和OGG的搭配使用
- 史上最权威的 Activiti 框架学习
- dispatch_sync
- 你就非得 TCP?为啥不直接 UDP 呢!
- IOS9 SDK下载、设备安装IOS9系统
- 堆排序算法——C/C++
- (7)目标检测之CNN、ResNet用于目标3D检测框的回归估计、3D检测框绘制
- <<视觉问答>>2021:How Transferable are Reasoning Patterns in VQA?
- 代码式动态录入生成个人简历页面html页面前端源码
- java anymatch_Java Stream anyMatch() API
- 浅谈机器人控制与仿真设计----RDS和ROS
- 【架构】分享个人制作《数字档案馆系统总体架构图》