问题 1654. -- 贪吃蛇

1654: 贪吃蛇

时间限制:1000 ms 内存限制:256 MB
提交:0 解决:0
[ 提交][ 状态][ 讨论版]

题目描述

题目压缩包(内含样例)

在遥远的M78星云,有一款风靡全球的游戏叫做 M78 Snake Collect Game。游戏内容如下: 在无限大二维网格平面上,有一条蛇。蛇的身体由 $n$ 个方格组成。 第一行给出蛇的长度 $n$ 和时间 $t$。 接下来 $n$ 行从头到尾按顺序依次给出蛇的身体方块坐标 $x,y$。 接下来 $t$ 行,每行给出一个整数,为蛇头移动方向。蛇的身体会随之移动。

在M78星云的贪吃蛇游戏中,蛇的长度固定不变。 当移动完成后,蛇头与其他身体部分重叠时游戏结束。

求存活时间,即游戏结束前 $1$ 秒。若结束时仍然存活输出 $t$。

输入

第一行给出蛇的长度 $n$ ($1 \le n \le 5000$)和时间 $t$ ($1 \le t \le 5000$) 接下来 $n$ 行从头到尾按顺序依次给出蛇的身体方块坐标$x$, $y$ (

$-60000 \le x,y \le 60000$ ) 接下来 $t$ 行,每行给出一个整数,为蛇头移动方向。(按照实际贪吃蛇游戏的移动方式,数据保证给出蛇的身体连续无重叠)

分别对应着四个方向:

  • $0$ 代表本次蛇头向上移动,即蛇从 $(x,y)$ 移动到了 $(x-1,y)$
  • $1$ 代表本次蛇头向下移动,即蛇从 $(x,y)$ 移动到了 $(x+1,y)$
  • $2$ 代表本次蛇头向左移动,即蛇从 $(x,y)$ 移动到了 $(x,y-1)$
  • $3$ 代表本次蛇头向右移动,即蛇从 $(x,y)$ 移动到了 $(x,y+1)$

输出

一个整数表示答案。

提示

来源

[ 提交][ 状态][ 讨论版]
Baidu
map