HNUST-1681 机器人走格子(找规律)
2024-10-07 07:30:30
1681: 机器人走格子
时间限制: 1 Sec 内存限制: 128 MB
提交: 244 解决: 58
[提交][状态][讨论版]
题目描述
一个长X宽Y的棋盘,有XY个格子。将机器人放在某个格子中,机器人可以沿上、下、左、右四个方向走一步到相邻的格子中,但不会越过棋盘边界。
问机器人要经过所有的格子至少一次并最终回到起点最少需要多少步?规则允许机器人多次走过同一个格子。对于X=Y=1的情形,我们认为答案为0。
输入
输入数据的第一行是一个整数T(0<T<=50),测试数据的组数。
每组测试数据的第一行是两个整数X和Y(0<X,Y<=100)。随后有Y行X个字符,字符‘C’表示格子,‘S’表示起点。
输出
对于每一组测试数据,输出需要的最少步数。
样例输入
1
4 4
CCCC
CCCC
CSCC
CCCC
样例输出
16
#include<iostream>
#include<cstring>
#include<cstdio>
const int N = + ;
char mat[N]; int main(){
int T;
scanf("%d", &T);
while(T --){
int n, m;
scanf("%d %d", &n, &m);
for(int i = ; i < m; i++) scanf("%s", mat);
if(n == && m == ) puts("");
else if(n == ) printf("%d\n", * (m - ));
else if(m == ) printf("%d\n", * (n - ));
else if(n % == || m % == ) printf("%d\n", n * m);
else printf("%d\n", n * m + );
}
return ;
}
最新文章
- Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
- selenium常用的js总结
- 防止 JavaScript 自动插入分号
- Java Script基础(十二) 正则表达式
- union 中可以存储的是不带构造函数的类对象
- Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
- python调webservice和COM接口
- sql中插入多条记录-微软批处理
- Android 模式对话框提示Dialog
- Notepad++中调试用心lua程序
- php 异步
- theOS环境搭建
- NanUI 0.4.4发布
- WPF 简易新手引导
- mybatis快速入门(六)
- 移动端H5地图矢量SHP网格切分打包方案
- Vue应用请求SpringBoot API出现 CORS 跨域请求设置 Invalid CORS request错误
- HBuilder --- MUI , HTML5
- go标准库的学习-encoding/xml
- bzoj千题计划181:bzoj1878: [SDOI2009]HH的项链