博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1130
阅读量:7296 次
发布时间:2019-06-30

本文共 1060 字,大约阅读时间需要 3 分钟。

bfs,数据范围是10

View Code
#include 
#include
#include
#include
#include
using namespace std;#define maxn 10int n, et;bool map[maxn][maxn];bool vis[maxn];int dist[maxn];int dist1[maxn];void input(){ memset(map, 0, sizeof(map)); scanf("%d%d", &n, &et); int a, b; while (~scanf("%d%d", &a, &b)) map[b][a] = true;}void bfs(int s, int guard_room, int* dist){ queue
q; memset(vis, 0, sizeof(vis)); memset(dist, -1, sizeof(int) * n); vis[s] = true; q.push(s); dist[s] = 0; while (!q.empty()) { int u = q.front(); q.pop(); for (int i = 0; i < n; i++) if (map[u][i] && !vis[i] && i != guard_room) { q.push(i); vis[i] = true; dist[i] = dist[u] + 1; } }}int work(){ int ret = 0; for (int i = 1; i < n; i++) if (i != et) { bfs(et, i, dist1); if (dist1[0] != -1) continue; if (dist[ret] > dist[i]) ret = i; } return ret;}int main(){ //freopen("t.txt", "r", stdin); input(); bfs(et, -1, dist); printf("Put guards in room %d.\n", work()); return 0;}

 

转载地址:http://hxynm.baihongyu.com/

你可能感兴趣的文章
如何添加和删除LaunchPad里面的程序图标
查看>>
iOS 7 Searchbar右侧空白
查看>>
iOS App Launch Option
查看>>
Apache Traffic Server处理请求的过程
查看>>
域名解析的记录类型区别
查看>>
为女儿取名“王者荣耀”可想过代价?
查看>>
iPhone X掉漆愈演愈烈?手机变成刮刮乐
查看>>
dubbo+zookeeper+dubbo管理控制台实践demo
查看>>
【iOS】【项目全局动态埋点】Runtime+Aspects(hook)
查看>>
Linux之ln命令
查看>>
SQL SERVER 数据库 怎么从一个服务器一个表中把数据插入到另一个服务器中的一个表内(纯复制)...
查看>>
Linux环境手动创建oracle10g数据库实践
查看>>
《JAVA编程思想》学习笔记——第三章 操作符
查看>>
ATM小程序
查看>>
ssh服务
查看>>
深入理解linux内核: linux内核(二)
查看>>
nginx配置文件讲解(二)
查看>>
[Swift]UIKit学习之UISegSmentedControl的用法
查看>>
MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
查看>>
我的友情链接
查看>>