主要思路

  全排列,然后按输入的字符串走并且判断是否撞墙

注:这样不会TLE,全排列最多24种

代码

#include<bits/stdc++.h>
using namespace std;
const int N=;
const int S=;
int dx[]={ , - , , }; //行
int dy[]={ , , , -}; //列
// {右, 上 , 下 ,左}
int s[S],t[];
char a[N][N];
int n,m;
int sx,sy,ex,ey;//开始与结束的坐标
int main() {
int ans=;
cin>>n>>m;
for(int i=;i<=n;i++) {
for(int j=;j<=m;j++) {
cin>>a[i][j];
if(a[i][j]=='S') {
sx=i;sy=j; //记下起点
}
else if(a[i][j]=='E') {//这里可以删去,后面if(x==ex && y==ex) 改为 if(a[x][y]=='E')
ex=i;ey=j; //记下终点
}
}
}
string st;
cin>>st;
int l=st.size();
for(int i=;i<=l;i++) s[i]=st[i-]-'';//将st换为数组
for(int i=;i<;i++) t[i]=i;
int x,y;
do {
x=sx;y=sy;//这边别忘了,每次都要初始化
for(int i=;i<=l;i++) {
if(x>n || y>m || x< || y<) break; //出界
x+=dx[t[s[i]]];
y+=dy[t[s[i]]];
if(x==ex && y==ey) { //到达终点
ans++;
break ;
}
if(a[x][y]=='#') break;//撞墙
}
}while(next_permutation(t,t+));//全排列函数
cout<<ans<<endl;
return ;
}

Codeforces New Year and Buggy Bot 题解的更多相关文章

  1. # Codeforces Round #529(Div.3)个人题解

    Codeforces Round #529(Div.3)个人题解 前言: 闲来无事补了前天的cf,想着最近刷题有点点怠惰,就直接一场cf一场cf的刷算了,以后的题解也都会以每场的形式写出来 A. Re ...

  2. Codeforces 547C/548E - Mike and Foam 题解

    目录 Codeforces 547C/548E - Mike and Foam 题解 前置芝士 - 容斥原理 题意 想法(口胡) 做法 程序 感谢 Codeforces 547C/548E - Mik ...

  3. Codeforces Round #557 (Div. 1) 简要题解

    Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...

  4. Codeforces Round #665 (Div. 2)A-C题解

    A. Distance and Axis 题目:http://codeforces.com/contest/1401/problem/A 题解:对于n来说分两种情况,一是奇数,二则是偶数 ①奇数:对于 ...

  5. Codeforces Round #668 (Div. 2)A-C题解

    A. Permutation Forgery 题目:http://codeforces.com/contest/1405/problem/A 题解:这道题初看有点吓人,一开始居然想到要用全排序,没错我 ...

  6. Codeforces Round #669 (Div. 2)A-C题解

    A. Ahahahahahahahaha 题目:http://codeforces.com/contest/1407/problem/A 题解:最多进行n/2的操作次数,我们统计这n个数中1的个数,是 ...

  7. Codeforces GYM 100876 J - Buying roads 题解

    Codeforces GYM 100876 J - Buying roads 题解 才不是因为有了图床来测试一下呢,哼( 题意 给你\(N\)个点,\(M\)条带权边的无向图,选出\(K\)条边,使得 ...

  8. 【Codeforces Round】 #431 (Div. 2) 题解

    Codeforces Round #431 (Div. 2)  A. Odds and Ends time limit per test 1 second memory limit per test ...

  9. Codeforces Round #546 (Div. 2) ABCDE 题解

    1136A: 题意:一本书有n个章节,每个章节的分别在li到ri页,小明读完书后将书折在第k页,问还有多少章节没有读 题解:控制k在li~ri的范围内后输出n-i即可 #include <set ...

随机推荐

  1. Mbatis是什么?怎么运行?

    一   .    Mybatis是什么? Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有 一些映射(输入参数映射,输出参数映射),Mybatis是 ...

  2. .net打杂工程师的面试感想和总结

    上个月26号辞职了,今天开始第一场面试,随便写写感想,后面还会继续分享一些感想 前言 这个时候找工作是不是找死? 开门见山吧,95年的,之前做过两份工作,第一家公司在做了2年2个月,在北京,也就是去年 ...

  3. Spring数据库连接

    1.C3P0数据库连接 2.DBCP数据库连接 3.Druid数据库连接 C3P0数据库连接: 1.先到(http://www.mvnrepository.com/)Maven网址找到C3P0的数据源 ...

  4. unityshader(属性)

    _Color("Color",Color)=(1,1,1,1)//RGBA _Vector("vector",Vector)=(1,2,3,4) //,fixe ...

  5. Codeforces 697D

    题意略. 思路: 对于随机产生的一个数列,对于某个儿子,其兄弟在其前面的概率为 1 / 2. 所以这个兄弟对期望的贡献为son[v] / 2,所有兄弟加起来即为(tot - 1) / 2. 详见代码: ...

  6. emlog博客的安装教程

    简介 emlog 是一款基于PHP和MySQL的功能强大的博客及CMS建站系统.致力于为您提供快速.稳定,且在使用上又极其简单.舒适的内容创作及站点搭建服务. 安装步骤 1.将src文件夹下的所有文件 ...

  7. spss分析存在共性线后,接下来是怎么分析?

    在进行线性回归分析时,容易出现自变量(解释变量)之间彼此相关,这种情况被称作多重共线性问题. 适度的多重共线性不成问题,但当出现严重共线性问题时,可能导致分析结果不稳定,出现回归系数的符号与实际情况完 ...

  8. 浅谈JavaWeb发展

    真的认认真真了解JavaWeb的发展,还是因为突然帮朋友弄个没什么功能的小网站时的突然奇想.但是上来就搭SSM的框架,搭到一半却想起来没什么功能那么麻烦干嘛.干脆不用框架,可是又蒙了,不用框架怎么写. ...

  9. VS Code配置Go语言开发环境

    VS Code是微软开源的一款编辑器,插件系统十分的丰富.本文就介绍了如何使用VS Code搭建Go语言开发环境. VS Code配置Go语言开发环境 说在前面的话,Go语言是采用UTF8编码的,理论 ...

  10. lambda表达式的一些学习

    关于lambda表达式的一些学习,例举出来. 1.学生实体类 public class Student { private String name; private int age; public S ...