搜啊搜~~~~~~~

1.用记忆化搜索 来搜答案,否则搜不完~

2.题目理解起来有困难....sad

讲:如果最后没有找到任何时间任何地点可能有贼,说明他跑掉了

除了上面这种情况,如果在所有时间里都同时存在多于一个点可能有贼,则Nothing known

除了上面两种情况,输出能确定贼的时间和该时间贼的地点

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;typedef pair<int,int> pii;
const int maxn = 105;int h,w,t;
int d[maxn][maxn][maxn];
int dx[] = {-1,0,1,0,0};
int dy[] = {0,1,0,-1,0};
vector<pii> ans[maxn];void init(){memset(d,-1,sizeof(d));int n;scanf("%d",&n);int tt,xa,ya,xb,yb;for(int i = 0; i < n; i++){scanf("%d%d%d%d%d",&tt,&xa,&ya,&xb,&yb);for(int i = xa; i <= xb; i++){for(int j = ya; j <= yb; j++){d[tt][i][j] = 0;}}}
}
int dfs(int x,int y,int tt){int &ans = d[tt][x][y];if(ans != -1) return ans;ans = 0;if(tt == t) return ans = 1;for(int i = 0; i < 5; i++){int xx = x + dx[i];int yy = y + dy[i];if(xx<1||xx>h||yy<1||yy>w) continue;if(dfs(xx,yy,tt+1)) ans = 1;}return ans;
}
int solve(){int flag;for(int i = 1; i <= t; i++){flag = 0;ans[i].clear();for(int j = 1; j <= h; j++){for(int k = 1; k <= w; k++){if(d[i][j][k] == 1){ans[i].push_back(make_pair(j,k));flag = 1;}}}if(flag == 0) return 0;}flag = 1;for (int i = 1; i <= t; i++) {if (ans[i].size() == 1) {printf("Time step %d: The robber has been at %d,%d.\n", i, ans[i][0].first, ans[i][0].second);flag = 0;}}if (flag) return 1;return 2;
}
int main(){int cas = 0;while(scanf("%d%d%d",&h,&w,&t)){if(!h&&!w&&!t) break;init();for(int i = 1; i <= h; i++){for(int j = 1; j <= w; j++){dfs(i,j,1);}}printf("Robbery #%d:\n",++cas);int tmp = solve();if (tmp == 0) printf("The robber has escaped.\n");else if (tmp == 1) printf("Nothing known.\n");printf("\n");}return 0;
}

输出语句手打,打错了单词,wrong了好几次,不能再笨/T_T

UVA 707 - Robbery相关推荐

  1. uva 707(记忆化搜索)

    题意:在一个方阵中,一个强盗犯要逃跑.你是警察要去抓他,现在你手上有若干线索他们会告诉你第i时刻一个方阵中他们没有看见强盗.在t秒后全部道路会封锁.让你通过线索来判断是不是能够找到小偷在某一秒的位置. ...

  2. π-Algorithmist分类题目(3)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...

  3. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  4. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  5. 算法竞赛入门经典+挑战编程+USACO

    下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...

  6. ACMer Training 学习指导

    本文原地址 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> ...

  7. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  8. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  9. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

最新文章

  1. html中legend设置大小,HTML_如何给 legend 标签设定宽度,我们在做表单的时候经常会使 - phpStudy...
  2. 近期活动盘点:清华严飞大数据探寻中国文脉讲座、2019前沿信息科技创新论坛...
  3. [发布]Lucene索引分析工具Luke.Net 0.5升级版 (兼容Lucene.Net 2.9.4.1)
  4. SQL Server 个人手册
  5. 微服务架构(一):什么是微服务
  6. 军哥华为HCNP(科目H12-221)真题解析课程:1-30题
  7. 天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...
  8. [轉]最流行的PHP MVC框架
  9. Hibernate 与触发器协同工作
  10. Netty入门之HelloWorld
  11. 软件项目管理实用教程(人民邮电出版)第二章课后习题
  12. 《遗传算法原理及应用》笔记—绪论
  13. 现代通信技术之软交换技术和IMS技术
  14. elk日志管理系统搭建
  15. KK音标和国际音标的对照
  16. iptables中SNAT、DNAT和MASQUERADE的含义【转】
  17. 拼字 公式_蒸汽机的未来,3D拼字游戏等等
  18. Android Studio设置http proxy加速下载(亲测有效)
  19. c语言课程设计文献检索,文献检索课学习心得三篇(2)
  20. http 301、302、304、400、405、415状态码解释

热门文章

  1. 平面的截距式方程推导
  2. 最新2009年度长篇经典小说推荐列表
  3. Git版本控制+ SourceTree+AndroidStudio 忽略文件
  4. Hazel引擎学习(七)
  5. 哈姆雷特(hamlet)现代英语版
  6. 预期与实际运行结果的对比
  7. 09年中国城市房价排行榜出炉 北京位居第4位
  8. 微处理机就是微型计算机,他们是《微型计算机》改版20年的历史见证者
  9. 二叉树--Huffman编码树--优先队列解法
  10. 为什么我从iOS返回Android