### 题目链接 ###

题目大意:

给你一个 n * m 的地图以及小蛇蛇头的初始位置,告诉你它会往 上、下、左、右 四个方向走。若在走的过程中(包括结束时)会使得小蛇越界,则输出 "Game Over!" ,否则输出 "Alice!" 以及蛇头最后的坐标位置。

分析:

简单模拟题,只需模拟小蛇蛇头的运动方向,看它是否会在运动的过程中(包括结束时)死掉。若死掉则直接退出模拟并输出 "Game Over!" 即可。

代码如下:

#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int n,m;
int to[][]={{-,},{,},{,-},{,}};
char a[][],s[];
inline int Get(char x){
if(x=='W') return ;
if(x=='S') return ;
if(x=='A') return ;
if(x=='D') return ;
}
int main()
{
scanf("%d%d",&n,&m);
int u,v;
for(int i=;i<=n;i++){
scanf("%s",a[i]+);
}
bool q=false;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
if(a[i][j]=='@'){
u=i,v=j;
a[i][j]='.';
q=true;
break;
}
}
if(q) break;
}
q=false;
scanf("%s",s+);
int len=strlen(s+);
for(int i=;i<=len;i++){
int j=Get(s[i]);
u+=to[j][],v+=to[j][];
if(u<||u>n||v<||v>m){q=true;break;}
}
if(q){
printf("Game Over!\n");
return ;
}
else printf("Alive! (%d,%d)\n",u,v);
}

fjnu2019第二次友谊赛 B题的更多相关文章

  1. fjnu2019第二次友谊赛 F题

    ### 题目链接 ### 题目大意: 一开始手上有 z 个钱币,有 n 天抉择,m 种投资方案,在每天中可以选择任意种投资方案.任意次地花费 x 个钱币(手上的钱币数不能为负),使得在 n 天结束后, ...

  2. HDOJ/HDU 2561 第二小整数(水题~排序~)

    Problem Description 求n个整数中倒数第二小的数. 每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1. Input 输入包含多组测试数据. 输入的第 ...

  3. leecode第二百三十七题(删除链表中的节点)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  4. hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语

    题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44 题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输 ...

  5. 《数据结构与算法Python语言描述》习题第二章第三题(python版)

    ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...

  6. leecode第二百九十二题(Nim游戏)

    class Solution { public: bool canWinNim(int n) { )==)//用与的时候,要注意优先级问题 //用n%4==0的时候,其耗时比用&短,但是空间消 ...

  7. leecode第二百三十一题(2的幂)

    class Solution { public: bool isPowerOfTwo(int n) { bool is_flag=false; ) { ==)//如果为1,看是不是第一个1 { if( ...

  8. leecode第二百三十题(二叉搜索树中第K小的元素)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  9. leecode第二百一十五题(数组中的第K个最大元素)

    class Solution { public: int quick_sort_version(vector<int>& nums, int k,int begin,int end ...

随机推荐

  1. RNN循环神经网络

    1.为什么还会有RNN? CNN(卷积神经网络)我们会发现, 他们的输出都是只考虑前一个输入的影响而不考虑其它时刻输入的影响, 比如简单的猫,狗,手写数字等单个物体的识别具有较好的效果. 但是, 对于 ...

  2. 分享一下HttpWatch pro 10.X 支持win10

    今天开始学Servlet,第一次安的是10的普通版,但发现功能太过简单不够学习使用,之后换了9的pro版本,发现单击"Record"按钮启动网络监听,会收到"ERROR_ ...

  3. CCF-CSP题解 201509-4 高速公路

    有点忧愁.\(CSP\)也考\(Tarjan\)缩点的嘛. 原理咱也不明白,咱也不敢学,找到模板就是抄. #include<bits/stdc++.h> const int maxn = ...

  4. Spring Cloud进阶之路 | 二:服务提供者(discovery)

    1 创建父项目 以前文所述,以spring boot 2.1.7.RELEASE为基,spring cloud版本为Greenwich.SR2,spring cloud alibaba版本为2.1.0 ...

  5. Python3 系列之 并行编程

    进程和线程 进程是程序运行的实例.一个进程里面可以包含多个线程,因此同一进程下的多个线程之间可以共享线程内的所有资源,它是操作系统动态运行的基本单元:每一个线程是进程下的一个实例,可以动态调度和独立运 ...

  6. Nginx配置实例-动静分离实例:搭建静态资源服务器

    场景 Nginx入门简介和反向代理.负载均衡.动静分离理解: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 U ...

  7. Linux 命令行初始化MySQL数据库

    作为一个技术纯小白,在Linux服务器初始化MySQL数据库的时候遇到了一点小问题: ​ 1.不会使用MySQL图形工具,几乎没玩过 ​ 2.客户的VPN没有开放3306端口,没法用navicat等工 ...

  8. mariadb 学习笔记

    安装:yum install mariadb-server mariadb vim /etc/my.cnf.d/server.cnfinnodb_file_per_table = on#设置后当创建数 ...

  9. 如何判断一个变量是否为数组(isArray)

    在我们平时的工作中经常会用到如何判断一个变量是否为数组.常用的方法很多,有用常用框架里面的,isArray.但是关于这个isArray的实现,各有不同. 常用的方法有如下几种 1.instanceof ...

  10. Java 包(package)的概念及实例

    包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调 ...