B - New Year and Buggy Bot

思路:刚开始看到这个题的时候,一头雾水,也不知道要干什么,后来百度翻译了了一遍,看明白了,不得不说自己的英语太差了,好了,步入正题:
给你n行m列,S表示入口,E表示出口,.表示可以通行,#表示障碍物如果遇到障碍物就直接break;遇到出口停下,给了一串字符串表示行走,但他不知道0123各代表哪一个方向,所以问问你可以有几条路走
0123一共4个数,那就暴力4!= 4 * 3 * 2 * 1 = 24;
直接上代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm> using namespace std;
int n, m,xchushi,ychushi, x, y;
char s[][];
string c;
int a[];
int shu[] = {, , , };//最初表示0上1下2左3右
int cnt;//记录情况的可能
int f; int main() {
ios::sync_with_stdio();
cin.tie();
cout.tie();
cin >> n >> m;
for (int i = ; i < n; i++) {
for (int j = ; j < m; j++) {
cin >> s[i][j];
//cout << s[i][j];
if (s[i][j] == 'S') {
xchushi = i;
ychushi = j;
}
}
//cout << endl;
}
cin >> c;
//cout << c << endl;
for (int i = ; i < c.size(); i++)
a[i] = c[i] - '';
do {
x = xchushi;
y = ychushi;
for (int i = ; i < c.size(); i++) {
if (a[i] == shu[])
x--;
else if (a[i] == shu[])
x++;
else if (a[i] == shu[])
y--;
else y++;
if(x < || y < || x >= n || y >= m)//x最初代表上下,所以要和n比较;y代表左右,所以要和m比较,z
break;
if (s[x][y] == 'E') {
f++;
break;
}
if (s[x][y] == '#')
break;
}
cnt += f;
f = ;
} while (next_permutation(shu, shu + ));
cout << cnt << endl;
return ;
}

有一点要说的是自己总是会犯很多小细节上的错误,昨天的训练赛还有今早上这个题,就可以看出来,可能是自己思考问题不条理,很多应该想到的问题都没有想到,小细节的处理上也不够到位,分情况讨论之类的也不到位,以后一定要改正。

最新文章

  1. js:使用js过程中遇到的一个小问题
  2. ANGULAR $HTTP请求【转】
  3. SQL分页
  4. Google Dapper-大规模分布式系统的基础跟踪设施
  5. M1M2总结
  6. Yosemite 升级后第三方SSD TRIM失败不能进入系统处理
  7. WCF分分钟入门
  8. undercore &amp; Backbone对AMD的支持(Require.js中如何使用undercore &amp; Backbone)
  9. SLF4J warning or error messages and their meanings(转)
  10. jq屏蔽f5
  11. ASP.NET Core教程【二】从保存数据看特有属性与服务端验证
  12. CMD命令操作MySql数据库详解
  13. 读《31天学会CRM项目开发》记录4 - WEB服务配置
  14. CDI services--Event(事件)
  15. 【速读】——Shangxuan Tian——【ICCV2017】WeText_Scene Text Detection under Weak Supervision
  16. NFS, web,负载均衡,Nginx yum 源码安装
  17. Unity Awards 2018最佳资源
  18. Spring Boot入门(2)使用MySQL数据库
  19. Nginx 配置下载附件让浏览器提示用户是否保存
  20. 搭建Google镜像网站

热门文章

  1. ajax post
  2. 爬山 启发式合并 / STL
  3. Go之第三方库ini
  4. CentOS 7 如何设置为eth0网卡
  5. 【Python】数值运算函数
  6. python项目虚拟环境搭建
  7. DRF分页
  8. PHP高并发和大流量怎么解决?
  9. JS高级---案例贪吃蛇,把封装的函数移动到js文件中
  10. python开发基础03-列表、元组、字典、集合操作方法汇总