兔子与樱花
来源:互联网 发布:java jersey restful 编辑:程序博客网 时间:2024/06/02 11:22
1:兔子与樱花
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65535kB
- 描述
很久很久之前,森林里住着一群兔子。有一天,兔子们希望去赏樱花,但当他们到了上野公园门口却忘记了带地图。现在兔子们想求助于你来帮他们找到公园里的最短路。
- 输入
- 输入分为三个部分。
第一个部分有P+1行(P<30),第一行为一个整数P,之后的P行表示上野公园的地点。
第二个部分有Q+1行(Q<50),第一行为一个整数Q,之后的Q行每行分别为两个字符串与一个整数,表示这两点有直线的道路,并显示二者之间的矩离(单位为米)。
第三个部分有R+1行(R<20),第一行为一个整数R,之后的R行每行为两个字符串,表示需要求的路线。 - 输出
- 输出有R行,分别表示每个路线最短的走法。其中两个点之间,用->(矩离)->相隔。
- 样例输入
6GinzaSensoujiShinjukugyoenUenokouenYoyogikouenMeijishinguu6Ginza Sensouji 80Shinjukugyoen Sensouji 40Ginza Uenokouen 35Uenokouen Shinjukugyoen 85Sensouji Meijishinguu 60Meijishinguu Yoyogikouen 352Uenokouen YoyogikouenMeijishinguu Meijishinguu
- 样例输出
Uenokouen->(35)->Ginza->(80)->Sensouji->(60)->Meijishinguu->(35)->YoyogikouenMeijishinguu
#include<iostream>#include<cmath>#include<cstring>#include<algorithm>#include<iomanip>#include<queue>#include<stack>#include<vector>#include<set>#include<map>using namespace std;struct Dict{int len;int pre;}D[35][35];map<string,int>M1;map<int,string>M2;string s1,s2;void Print(int s,int e) {if(s==e) {cout<<M2[s];return;}Print(s,D[s][e].pre);cout<<"->("<<D[D[s][e].pre][e].len<<")->"<<M2[e];}int main(){int n,m,dis;cin>>n;for(int i=0;i<n;++i){cin>>s1;M1[s1]=i;M2[i]=s1;}cin>>m;for(int i=0;i<n;++i){for(int j=0;j<n;++j){if(i==j){D[i][j].len=0;D[i][j].pre=i;}else{D[i][j].len=0x7fffffff/2;D[i][j].pre=-1;}}}for(int i=0;i<m;++i){cin>>s1>>s2>>dis;if(D[M1[s1]][M1[s2]].len>dis){D[M1[s1]][M1[s2]].len=dis;D[M1[s1]][M1[s2]].pre=M1[s1];}if(D[M1[s2]][M1[s1]].len>dis){D[M1[s2]][M1[s1]].len=dis;D[M1[s2]][M1[s1]].pre=M1[s2];}}for(int t=0;t<n;++t){for(int i=0;i<n;++i){for(int j=0;j<n;++j){if(D[i][t].len+D[t][j].len<D[i][j].len){D[i][j].len=D[i][t].len+D[t][j].len;D[i][j].pre=D[t][j].pre;}}}}int t;cin>>t;while(t--){cin>>s1>>s2;Print(M1[s1],M1[s2]);cout<<endl;}return 0;}
阅读全文
0 0
- 【HEOI】兔子与樱花
- [HEOI2015]兔子与樱花
- 【Bzoj4027】兔子与樱花
- 兔子与樱花
- bzoj4027【heoi2015】兔子与樱花
- 【HEOI2015】【BZOJ4027】兔子与樱花
- bzoj4027: [HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- 【bzoj4027】[HEOI2015]兔子与樱花
- BZOJ4027: [HEOI2015]兔子与樱花
- 4027: [HEOI2015]兔子与樱花
- BZOJ4027 [HEOI2015]兔子与樱花
- bzoj4027: [HEOI2015]兔子与樱花
- 【BZOJ4027】【HEOI2015】兔子与樱花 贪心
- 【bzoj4027】【HEOI2015】兔子与樱花【贪心】
- BZOJ 4027: [HEOI2015]兔子与樱花
- [BZOJ4027]HEOI2015兔子与樱花|贪心
- 一分钟了解"c语言求开方sqrt函数"
- Android--UI之ScrollView
- 【C语言】【unix c】库函数和系统调用的关系
- 自定义组件--nav菜单
- C语言常用转义字符表
- 兔子与樱花
- 在Windows 7中文版中Python 2.7
- DHCP交互
- cookie
- 一分钟了解"c语言求绝对值函数abs"
- 关于Hadoop的两个YARN参数
- PathClassLoader~DexClassLoader区别
- Linux必杀(十七):完整备份工具(dump)
- ofbiz 获取delegator实体操作句柄