Cleaner Robot - CodeForces 589J(搜索)】的更多相关文章

有一个M*N的矩阵,有一个会自动清洁的机器人,这个机器人会按照设定好的程序来打扫卫生,如果当前方向前面可以行走,那么直接走,如果不可以走那么会向右转动90度,然后回归上一步判断.求机器人最多能打扫的面积是多少. 分析:直接搜就行了....... 代码如下: ---------------------------------------------------------------------------------------------------------------- #include…
Cleaner RobotCrawling in process... Crawling failed Time Limit:2000MS     Memory Limit:524288KB     64bit IO Format:%I64d & %I64u Submit Status Description   Input   Output   Sample Input   Sample Output   Hint   Description Masha has recently bought…
Masha has recently bought a cleaner robot, it can clean a floor without anybody's assistance. Schematically Masha's room is a rectangle, consisting of w × h square cells of size 1 × 1. Each cell of the room is either empty (represented by character '…
题目链接 题意:一个机器人打扫卫生,URDL代表初始时机器人面对的方向上右下左. ' . ' 代表可以打扫的, ' * ' 代表家具,如果机器人遇到家具就顺时针转90度,问机器人能打扫多少面积. 题解:记录机器人走过每个点时所面对的方向,如果走过了这个点走过的方向就不用走了,模拟机器人的行走过程即可.只记录机器人第一次走过某点时面对的方向也可以.数据范围较小,开个三维vis数组也行. #include <cstdio> #include <iostream> #include &l…
题意:给定n*m的矩阵,一个机器人从一个位置,开始走,如果碰到*或者边界,就顺时针旋转,接着走,问你最后机器人最多能走过多少格子. 析:这个题主要是题意读的不大好,WA了好几次,首先是在*或者边界才能转向,其次就是走过的地方也能走,注意这两点,就可以AC了,可以用DFS,也可以用BFS, 我用的DFS. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #inclu…
题目链接:http://codeforces.com/problemset/problem/589/J 题目大意:一个机器人打扫一个密闭的房间,房间由一个矩形构成,'*'表示家具,'.'表示该位置为空,机器人只能扫空的位置,给出机器人的初位置及朝向,如果当前朝向不能再继续往前走了,机器人就会向右转,问一共能清理多少地方. 例: 输入: 2 3U...*. 输出: 4 解题思路:方法应该有很多种,不过我用的DFS.需要注意的就是,机器人的朝向,只有当前方有障碍时,他才会右转.还有就是DFS的结束的…
 1.创建项目 选择菜单栏file----->new Project 右键点击新建Project,选择new Suite 选项. 右键点击新建测试Suite,选择new Test Case. 完成创建之后的界面如下: 2.编写用例 添加Selenium2Library,否则将无法使用其内置的封装的关键字 在Edit上输入关键字,可以按F5进行关键字搜索 3.测试报告 运行日志如下,点击Report,生成测试报告…
You received as a gift a very clever robot walking on a rectangular board. Unfortunately, you understood that it is broken and behaves rather strangely (randomly). The board consists of N rows and M columns of cells. The robot is initially at some ce…
题目链接:https://ac.nowcoder.com/acm/contest/903/L 题意:给你 n * n的方阵,你可以从任意一个数字开始走,可以走上下左右四个方向,走过的数字会被拼合,拼合的数字没有前导0,问最小不能拼合出来的数字是多少? 思路:开始就认为是一道深搜题,后面自己想太多就没去试,醉了orz! 这题就是把每个数字作为起点开始搜索,把已经搜索过的数字进行标记,然后从0开始检索,输出第一个未出现的数字就是答案.搜索的话我代码是搜5位数的所有组合,事实上这道题搜索3位数的所有组…
设s[i][j]为序列i到j的和,当s[i][j]≠0时,即可从i跳到j+1.目标为从1跳到n+1,所以按照题意暴力即可. #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i(a); i <= (b); ++i) #define dec(i,a,b) for(int i(a); i >= (b); --i) const int Q = 1000 + 10; struct node{ i…