栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3532 Kevin Bacon

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3532 Kevin Bacon

#include <iostream>#include<map>#include<stdio.h>#include<memory.h>#include<string>#include<vector>#define N 1111using namespace std;map<string, int> M;vector<int> V;const int Inf = 0x7ffffff;int m, p, k, i, l, t, j, L, cnt;char s[10100], ss[10100];int g[1111][1111], path[1111], d[N];int cas = 0;void Dijkstra(int n, int s, int path[]) {int i, q[N], best_i, u, j;int top = n;for (i = 0; i < n; ++i)d[i] = Inf, q[i] = i;d[s] = 0;path[s] = s;for (i = 0; i < n; ++i) {best_i = 0;for (j = 0; j < top; ++j)if (d[q[j]] < d[q[best_i]])best_i = j;u = q[best_i];q[best_i] = q[--top];for (j = 0; j < top; ++j) {if (d[q[j]] > g[u][q[j]] + d[u])d[q[j]] = g[u][q[j]] + d[u], path[q[j]] = u;}}}int main() {while (scanf("%d%d", &p, &m) != EOF) {if (!p && !m)break;M.clear();gets(s);bool flag = false;cnt = 0;for (i = 0; i <= 1100; i++)for (j = 0; j <= 1100; j++)if (i == j)g[i][j] = 0;elseg[i][j] = Inf;for (i = 1; i <= p; i++) {scanf("%d", &k);gets(s);L = strlen(s);V.clear();while (s[j] == ' ')j++;bool boo = true;for (j = 0; j < L && boo;) {memset(ss, 0, sizeof(ss));l = 0;t = j;while (s[t] == ' ')t++;for (; t < L && s[t] != ' '; t++) {ss[l++] = s[t];if (s[t] == ':') {boo = false;break;}}ss[l++] = ' ';while (s[t] == ' ')t++;for (; t < L && s[t] != ','; t++) {if (s[t] == ':') {boo = false;break;}ss[l++] = s[t];}if (strcmp(ss,"Kevin, Bacon")==0) flag=true;if (!M[ss]) {M[ss] = ++cnt;}V.push_back(M[ss]);j = t + 1;}for (j = 0; j < (int) V.size(); j++)for (t = 0; t < (int) V.size(); t++)g[V[j] - 1][V[t] - 1] = g[V[t] - 1][V[j] - 1] = min(g[V[j] - 1][V[t] - 1], k);}Dijkstra(cnt, M["Kevin, Bacon"] - 1, path);printf("Database %dn", ++cas);while (m--) {gets(s);if (flag==false) {printf("%s: infinityn", s);continue;}if (d[M[s] - 1] < Inf)printf("%s: %dn", s, d[M[s] - 1]);elseprintf("%s: infinityn", s);}printf("n");}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367921.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号