zju 1912(bfs)
来源:互联网 发布:绅士mmd动作数据下载 编辑:程序博客网 时间:2024/06/05 16:36
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1912
这道题思路就是从每个路线上点出发做bfs,求离所有路线点都尽可能近(及最大距离最小)的那个点作为中心。
但是有一个坑,
看这组数据:
2
2 1
7400 1 7401
7401 1 7400
1 7400
正确结果:1 7400
代码:
#include<cstdio>#include<cstring>#include<queue>#include<set>using namespace std;typedef set<int>::iterator it;const int N = 10000;int dis[N], tdis[N], link[N][12];queue<int> q;set<int> zone;void bfs(int o){ memset(tdis, 0, sizeof(tdis)); tdis[o] = 1; q.push(o); while(!q.empty()) { int cur = q.front(); q.pop(); if(tdis[cur]>dis[cur]) dis[cur]=tdis[cur]; for(int i = 1; i <= link[cur][0]; ++i) { int j = link[cur][i]; if(tdis[j]==0) q.push(j), tdis[j] = tdis[cur] + 1; } }}int main(){ int cas, nz, nr, id, mz, mr, ans, t; scanf("%d", &cas); while(cas--) { zone.clear(); memset(dis, 0, sizeof(dis)); scanf("%d%d", &nz, &nr); for(int i = 1; i <= nz; ++i) { scanf("%d %d", &id, &mz); link[id][0] = mz; zone.insert(id); for(int i = 1; i <= mz; ++i) scanf("%d", &link[id][i]); } for(int i = 1; i <= nr; ++i) { scanf("%d", &mr); for(int j = 1; j <= mr; ++j) { scanf("%d", &t); bfs(t); } } it i = zone.begin(); ans = *i; for(++i; i != zone.end(); ++i) if(dis[*i] < dis[ans]) ans = *i; printf("%d %d\n", dis[ans], ans); } return 0;}
0 0
- zju 1912(bfs)
- zju/zoj 1136 Multiple(BFS)
- zju 1940 Dungeon Master(三维BFS暴搜题)
- zju 1671 Walking Ant (bfs 暴搜题)
- zju 2097 Walking on a Chessboard(二维BFS+一维状态转移)
- zju 3497 Mistwald(矩阵乘法)
- ZJU 3811 - Untrusted Patrol(DFS)
- ZJU 3818 - Pretty Poem(暴力枚举)
- (树形DP)tree of tree (zju)
- ZJU 2562 More Divisors (反素数)
- ZJU oj 2969 Easy Task(水题)
- hdu1254(bfs+bfs)
- (ZJU-2008复试)-HDOJ-1881-毕业bg(DP)
- ZJU 1453(hdu 1392) Surround the Trees(凸包)
- zju 1499 Increasing Sequences(分步动态规划)
- zju 3542 Hexadecimal View (大连现场赛水题)
- ZJU 1450 Minimal Circle(平面点集最小圆覆盖)
- 2013互联网公司找工作--大牛总结(ZJU)
- BLOB字段转BASE64
- 编程之美--3.2电话号码对应英文单词
- sql里面如何引用列的别名
- 不可预料的压缩文件末端怎么解决
- C#动态调用web服务引用的方法
- zju 1912(bfs)
- 渲染流程
- CentOS7中开机出现end_request:I/O error,dev fd0,sector 0的解决办法
- Android开发实践:使用Service还是Thread
- oracle中minus的用法
- cocos2d-x与excel通过xml文件读写双向交互(上)
- Erlang cowboy websocket 服务器
- POX学习笔记:POX接收OpenFlow消息的处理流程分析
- 相机标定之三种坐标系间的映射关系