空间排版设计网站添加图标wordpress
空间排版设计网站,添加图标wordpress,网页设计师需要学什么技能,wordpress会员注册晚餐时间马上就到了#xff0c;奶牛们还在各自的牧场中悠闲的散着步。
当农夫约翰摇动铃铛#xff0c;这些牛就要赶回牛棚去吃晚餐。
在吃晚餐之前#xff0c;所有奶牛都在自己的牧场之中#xff0c;有些牧场中可能没有奶牛。
每个牧场都通过一条条道路连接到一个或多个…晚餐时间马上就到了奶牛们还在各自的牧场中悠闲的散着步。
当农夫约翰摇动铃铛这些牛就要赶回牛棚去吃晚餐。
在吃晚餐之前所有奶牛都在自己的牧场之中有些牧场中可能没有奶牛。
每个牧场都通过一条条道路连接到一个或多个其他牧场可能包括其自身。
有时两个可能是相同的牧场通过一条以上的道路相连。
至少存在一个牧场与牛棚通过一条道路直接相连。
所以说所有奶牛都能够成功的从自己的牧场沿道路返回牛棚。
聪明的奶牛们总会选择最短的路径回到牛棚之中。
每条道路都是可以双向行走的奶牛的行走速度也都一样。
我们用 a∼z 和 A∼Y 来标记所有的牧场。
所有用大写字母标记的牧场中都存在一头奶牛所有用小写字母标记的牧场中都不存在奶牛。
牛棚的标记为 Z这里最初是没有奶牛的。
现在你需要确定哪一头奶牛能够最快到达牛棚输出它最初所在的牧场的标记并输出它走过的路径的长度。
注意同一字母大小写标记的两个牧场例如牧场 A 和牧场 a是两个完全不同的牧场。
输入格式
第一行包含整数 P表示连接牧场以及牛棚的道路的条数。
接下来 P 行每行包含两个字母以及一个整数表示被一条道路连接的两个牧场的标记以及这条道路的长度。
输出格式
输出一个字母和一个整数表示最快回到牛棚的牛最初所在的牧场的标记以及它走过的路径的长度。
数据保证最快回到牛棚的牛只有一头。
数据范围
1≤P≤10000, 所有道路长度均不超过 1000。
输入样例
5
A d 6
B d 3
C e 9
d Z 8
e Z 3输出样例
B 11
解题思路
利用dijkstra最短路径法。
因为利用dijkstra能找到点i-n的最短距离所有先找到A-Y到Z的最短距离再通过比较得到最最啊小距离的牛及其距离。
参考代码 #include iostream
#include cstring
#include algorithmusing namespace std;
const int N 60,INF 1e9;
int dist[N],g[N][N];
int n;
bool st[N];int get(char x)
{if(xZ) return x - A 1;else return x - a 27;
}void dijkstra()
{memset(dist,0x3f,sizeof dist);dist[26] 0;for(int i0;i52;i){int t -1;for(int j1;j52;j)if(!st[j] (t-1 || dist[t]dist[j]))t j;st[t] true; for(int j1;j52;j)dist[j] min(dist[j],dist[t]g[t][j]);}
}int main()
{cinn;memset(g,0x3f,sizeof g);while (n -- ){int w;char a,b;cinabw;int x get(a),y get(b);g[x][y] g[y][x] min(g[x][y],w);}dijkstra();//确定A-Y每头牛到Z的最短距离.int k 1;for(int i1;i25;i){if(dist[i] INF/2 dist[i]dist[k])k i;}coutchar(kA-1) dist[k]endl;return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86867.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!