fjnu2019第二次友谊赛 B题
题目大意:
给你一个 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题的更多相关文章
- fjnu2019第二次友谊赛 F题
### 题目链接 ### 题目大意: 一开始手上有 z 个钱币,有 n 天抉择,m 种投资方案,在每天中可以选择任意种投资方案.任意次地花费 x 个钱币(手上的钱币数不能为负),使得在 n 天结束后, ...
- HDOJ/HDU 2561 第二小整数(水题~排序~)
Problem Description 求n个整数中倒数第二小的数. 每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1. Input 输入包含多组测试数据. 输入的第 ...
- leecode第二百三十七题(删除链表中的节点)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...
- hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语
题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44 题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输 ...
- 《数据结构与算法Python语言描述》习题第二章第三题(python版)
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...
- leecode第二百九十二题(Nim游戏)
class Solution { public: bool canWinNim(int n) { )==)//用与的时候,要注意优先级问题 //用n%4==0的时候,其耗时比用&短,但是空间消 ...
- leecode第二百三十一题(2的幂)
class Solution { public: bool isPowerOfTwo(int n) { bool is_flag=false; ) { ==)//如果为1,看是不是第一个1 { if( ...
- leecode第二百三十题(二叉搜索树中第K小的元素)
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...
- leecode第二百一十五题(数组中的第K个最大元素)
class Solution { public: int quick_sort_version(vector<int>& nums, int k,int begin,int end ...
随机推荐
- oracle 日常巡检
1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name ...
- jquery查出元素名称
<div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV
- python中几种自动微分库
简单介绍下python的几个自动求导工具,tangent.autograd.sympy: 在各种机器学习.深度学习框架中都包含了自动微分,微分主要有这么四种:手动微分法.数值微分法.符号微分法.自动微 ...
- javascript数据结构
学习数据结构非常重要.首要原因是数据结构和算法可以很高效的解决常见问题.作为前端,通过javascript学习数据结构和算法要比学习java和c版本容易的多. 在讲数据结构之前我们先了解一下ES6的一 ...
- 【CV现状-1】磨染的初心——计算机视觉的现状:缘起
#磨染的初心--计算机视觉的现状 [这一系列文章是关于计算机视觉的反思,希望能引起一些人的共鸣.可以随意传播,随意喷.所涉及的内容过多,将按如下内容划分章节.已经完成的会逐渐加上链接.] 缘起 三维感 ...
- QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.(遇到还没试过)
今天在使用Redis的时候出现以下错误: QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAll ...
- 最短路径之Dijsktra算法(python)
定义: 起始位置:A 终止位置:F 持久集合:permanent = set() 暂时集合:temporary = set() 首先将起始位置A加入永久集合,并将A的距离设为0, 此时遍历A的邻接节点 ...
- 在Mac上安装JDK1.8及环境变量配置
今天我们来讲一讲,在Mac上的JDK安装. 第一步,打开终端输入 java -version 看看是否本地已经安装了JDK,如果未安装,OK,继续- 第二步,到官网下载JDK.勾选“Accept Li ...
- Javascript获取元素的xpath
//获取xpath function readXPath(element) { if (element.id !== "") {//判断id属性,如果这个元素有id,则显 示//* ...
- 为Dynamics 365 USD设置打开调试面板的自定义快捷键
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...