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 ;
}
 

最新文章

  1. Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
  2. selenium常用的js总结
  3. 防止 JavaScript 自动插入分号
  4. Java Script基础(十二) 正则表达式
  5. union 中可以存储的是不带构造函数的类对象
  6. Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
  7. python调webservice和COM接口
  8. sql中插入多条记录-微软批处理
  9. Android 模式对话框提示Dialog
  10. Notepad++中调试用心lua程序
  11. php 异步
  12. theOS环境搭建
  13. NanUI 0.4.4发布
  14. WPF 简易新手引导
  15. mybatis快速入门(六)
  16. 移动端H5地图矢量SHP网格切分打包方案
  17. Vue应用请求SpringBoot API出现 CORS 跨域请求设置 Invalid CORS request错误
  18. HBuilder --- MUI , HTML5
  19. go标准库的学习-encoding/xml
  20. bzoj千题计划181:bzoj1878: [SDOI2009]HH的项链

热门文章

  1. 谁掳走了 nginx.pid 文件?
  2. keras学习笔记-bili莫烦
  3. java实现视频断点上传文件
  4. DFS-全排列
  5. CQOI2010 传送带
  6. Kubernetes Deployment故障排除图解指南
  7. VMware NAT 静态IP模式下上网
  8. CSS-W3School:CSS table-layout 属性
  9. Selenium学习之==&gt;WebDriver驱动对照表
  10. node.js ffmpeg-concat 命令行形式处理多个视频的过度效果