zoj 2913 Bus Pass
对于每个输入的站点求出所有点到这个站点的最短路。用anss数组存下来,然后就可以用anss数组求出答案了。
题目分析清楚了 还是比较水的,折腾了一早上。。
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
struct Point{ int tott, node; };
vector<int> abc[];
int nz, nr, i, j, p, k, u, summ, ii;
int zhuan[];
int fan[];//
int anss[][];//存最短路
int ff[];//标记这个城市有没有搜过最短路
void BFS(int rr)
{
queue<Point>Q; Point start, t;
start.node = zhuan[k]; start.tott = ; anss[rr][zhuan[k]] = ; Q.push(start);
while (!Q.empty())
{
Point hd = Q.front(); Q.pop();
for (i = ; i < abc[hd.node].size(); i++)
{
if (hd.tott + < anss[rr][abc[hd.node][i]])
{
anss[rr][abc[hd.node][i]] = hd.tott + ;
t.node = abc[hd.node][i];
t.tott = hd.tott + ;
Q.push(t);
}
}
}
}
int main()
{
int sb;scanf("%d", &sb);
while (sb--)
{
scanf("%d%d", &nz, &nr);
for (i = ; i < ; i++) abc[i].clear();
for (i = ; i < ; i++) for (j = ; j < ; j++) anss[i][j] = 0x7FFFFFFF;
memset(zhuan, , sizeof(zhuan));memset(ff, , sizeof(ff));
int tot = , summ = ;
for (i = ; i <= nz; i++)
{
scanf("%d", &p);
if (zhuan[p] == ) { zhuan[p] = tot, fan[zhuan[p]] = p, tot++; }
scanf("%d", &k);
for (j = ; j <= k; j++)
{
scanf("%d", &u);
if (zhuan[u] == ) { zhuan[u] = tot, fan[zhuan[u]] = u, tot++; }
abc[zhuan[p]].push_back(zhuan[u]);
}
}
for (ii = ; ii <= nr; ii++)
{
scanf("%d", &u);
for (j = ; j <= u; j++)
{
scanf("%d", &k);
if (ff[k] == ){ BFS(summ); ff[k] = ; summ++; }
}
}
int pri = 0x7FFFFFFF; int pri2 = -;
for (i = ; i <= tot - ; i++)
{
int minn = -;
for (j = ; j < summ; j++) if (anss[j][i]>minn) minn = anss[j][i];
if (minn < pri){ pri = minn, pri2 = fan[i]; }
else if (minn == pri&&fan[i] < pri2)pri2 = fan[i];
}
printf("%d %d\n", pri + , pri2);
}
return ;
}
zoj 2913 Bus Pass的更多相关文章
- ZOJ 2913 Bus Pass (近期的最远BFS HDU2377)
题意 在全部城市中找一个中心满足这个中心到全部公交网站距离的最大值最小 输出最小距离和满足最小距离编号最小的中心 最基础的BFS 对每一个公交网站BFS dis[i]表示编号为i的点到全部公交网 ...
- Bus Pass
ZOJ Problem Set - 2913 Bus Pass Time Limit: 5 Seconds Memory Limit: 32768 KB You travel a lot b ...
- hdu 2377 Bus Pass
Bus Pass Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- ZOJ2913Bus Pass(BFS+set)
Bus Pass Time Limit: 5 Seconds Memory Limit: 32768 KB You travel a lot by bus and the costs of ...
- hdu2377Bus Pass(构建更复杂的图+spfa)
主题链接: 啊哈哈,点我点我 思路: 题目是给了非常多个车站.然后要你找到一个社区距离这些车站的最大值最小..所以对每一个车站做一次spfa.那么就得到了到每一个社区的最大值,最后对每一个社区扫描一次 ...
- 【HDOJ图论题集】【转】
=============================以下是最小生成树+并查集====================================== [HDU] How Many Table ...
- hdu图论题目分类
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- HDU图论题单
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
随机推荐
- Mvc分页组件MvcSimplePager代码重构
1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件M ...
- python基础4
内容概要: 一.递归 递归就是函数本身调用自己,直到满足指定条件之后一层层退出函数 递归特性: 必须有一个明确的结束条件 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 递归效率不高,递归层 ...
- centos6.8 搭建nginx+uwsgi+Flask
1.安装 yum install nginx -y pip3 install uwsgipip3 install Flask 2.uwsgi配置(保存/etc/uwsgi.ini,run:uwsgi ...
- learning english
distortion 英[dɪ'stɔ:ʃn] 美[dɪˈstɔrʃən]n. 扭曲,变形; 失真,畸变; [心理学] 扭转;[例句]I think it would be a gross disto ...
- 如何写兼容浏览器和Node.js环境的Javascript代码
如果有打开过jQuery的源码(从1.11及以后),或者Vue.js.React.js的源码,都会在文件的前面看见这样一段代码: ( function( global, factory ) { &qu ...
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小. 使用 ...
- awk-模式匹配
使用awk作为文本处理工具,正则表达式是少不了的. 要掌握这个工具的正则表达式使用.其实,我们不必单独去学习它的正则表达式.正则表达式就像一门程序语言,有自己语法规则已经表示意思. 对于不同工具,其实 ...
- 关于web多标签多条件筛选的思考以及缓存的正确使用方法(上)
做项目的过程中,发现一次远程链接数据库的耗时大概是300ms~400ms,切身体会到了前辈们经常说的减少链接的重要性,用了缓存后页面的打开时间从1.5s减少到400ms 前提: 那么来说一说正题,we ...
- Ubuntu 实现点击菜单栏图标最小化程序
compizconfig-settings-manager http://blog.csdn.net/wdjhzw/article/details/39136057
- 微信js-sdk调用
之前在做微信的时候,在微信支付还有调起微信扫一扫的时候,用过js-sdk.最近,被几个做前端的同学问到了具体的流程,想想,还是写下来好点. 微信js-sdk,是微信提供给网页开发设计者使用的, ...