ACM篇:POJ 1139 -- Cat and Mouse
来源:互联网 发布:儿童摄影网络推广 编辑:程序博客网 时间:2024/04/28 13:38
首先标记猫可能出现的房间,然后便是简单的深搜。
Also, the mouse can make a walk through two rooms…
本来以为这句话要求米奇经过至少两个不为
起点的房间,但似乎只需一个就够了,也就是说根本不用判断经过房间数。
#include <iostream>#include <cstdio>#include <queue>#include <cstring>#include <vector>#include <cstdlib>#define min(a,b) (((a) < (b)) ? (a) : (b))#define max(a,b) (((a) > (b)) ? (a) : (b))using namespace std;const int MAX = 100;int n;int cat;int mouse;bool danger[MAX+2];vector<int > road[MAX+2];void read_road(){ for (int i = 1; i <= MAX; i++) road[i].clear(); int a, b; while (scanf("%d%d", &a, &b) && a != -1 && b != -1) road[a].push_back(b);}void cat_dfs(int x){ danger[x] = true; int sz = road[x].size(); for (int i = 0; i < sz; i++) { if (!danger[road[x][i]]) cat_dfs(road[x][i]); }}void cat_walk(){ read_road(); memset(danger, 0, sizeof(danger)); cat_dfs(cat);}bool visit[MAX+2];bool meet;bool can;void mouse_dfs(int x){ if (danger[x]) { meet = true; return; } visit[x] = true; int sz = road[x].size(); for (int i = 0; i < sz; i++) { if (road[x][i] == mouse) can = true; if(!visit[road[x][i]]) mouse_dfs(road[x][i]); }}void mouse_walk(){ read_road(); meet = can = false; memset(visit, 0, sizeof(visit)); mouse_dfs(mouse);}int main(){ int T; int kase = 0; scanf("%d", &T); while (++kase <= T) { scanf("%d%d%d", &n, &cat, &mouse); cat_walk(); mouse_walk(); printf("%c %c\n", (meet) ? 'Y' : 'N', (can) ? 'Y' : 'N'); } return 0;}
0 0
- ACM篇:POJ 1139 -- Cat and Mouse
- POJ 1139 Cat and Mouse 笔记
- cat catch mouse
- key and mouse simulation
- Contest1002 - HHU ACM 综合训练1 E题 Mouse and Parenthesis(线段树+括号匹配)
- The Mouse and the Keyboard
- Mouse leave and hover message
- Firefox Keyboard and Mouse Shortcuts
- WPF Mouse and Point Acrobatics
- System Events and Mouse Messages
- ACM学习-POJ-1063-Flip and Shift
- ACM学习-POJ-1063-Flip and Shift
- Week 5a - Mouse input and more lists ----mouse input
- cat and line
- cat and tr << <<-
- poj 1853 Cat
- POJ 1853 Cat(DP)
- POJ 1853 Cat
- 第十五周OJ(4)两个字符串连接
- 模板方法模式
- 中国之技术弱点
- RxAndroid之简单网络请求,数据操作
- jackson反序列化时忽略不需要的字段
- ACM篇:POJ 1139 -- Cat and Mouse
- ionic上拉加载更多解决方法
- 【C#MVC】C#中将文件夹压缩然后下载
- 解决Python import “No module named ”问题
- Android 生成keystore jarsigner签名及解决找不到证书链的问题
- 【matlab】显示多张图
- 微信小程序数据存储与取值
- dubbo.xsd文件 找不到,配置文件报红色标志错误解决办法
- Node.js + Express 实现上传文件功能(felixge/node-formidable)