#A. 加速移动游戏

    传统题 1000ms 256MiB

加速移动游戏

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

在一场虚拟现实游戏中,玩家初始位于坐标原点 (0,0)(0,0)。游戏中玩家需要根据指令移动,指令包括向上移动(1),向下移动(2),向左移动(3),向右移动(4)。每次玩家接受到一个移动指令,玩家将向指定方向移动一格。然而,如果玩家的移动结果使他的坐标落在任意对角线 y=xy = xy=xy = -x 上,此时玩家将获得加速效果,即额外再移动一格。最终,玩家需要报告他的终止坐标。

关于对角线:

例如,下面的坐标在对角线上:

  • (0, 0), (1, 1), (2, 2)...,
  • (0, 0), (-1, -1), (-2, -2)...
  • (0, 0), (-1, 1), (-2, 2)...
  • (0, 0), (1, -1), (2, -2)...,

对于坐标 (x,y)(x, y),如果 x,yx, y 两数的绝对值相等,那么这个坐标在对角线上。

关于移动: 一开始玩家的的位置在(0, 0)。假设用x代表玩家的横坐标,y代表玩家的纵坐标,用变量x和y代表玩家的位置。

那么一开始x和y都为0.

  • 如果输入1,则向上,纵坐标y需要加1.
  • 如果输入2,则向下,纵坐标y需要减1.
  • 如果输入3,则向左,横坐标x需要减1.
  • 如果输入4,则向右,横坐标x需要加1.

输入格式

首先输入一个整数 nn,表示有 nn 组数据。接下来的 nn 行,每行包含一个整数,表示移动方向:1代表向上,2代表向下,3代表向左,4代表向右。

输出格式

输出一行,包含两个整数 x,yx, y,表示玩家最终的坐标 (x,y)(x, y)

样例数据

5
1
4
3
1
1
0 3
5
4
1
3
2
1
0 2
6
4
4
1
2
1
3
0 1

样例解释

在第一个样例中,玩家首次向上移动到 (0,1)(0,1),然后向右移动到 (1,1)(1,1),因为 (1,1)(1,1)y=xy = x 对角线上,所以玩家再向右移动一格到 (2,1)(2,1)。接着向左移动到 (1,1)(1,1),此时在 y=xy = x 对角线上,再向左移动一格到 (0,1)(0,1)。最后向上移动两次到 (0,3)(0,3)

在第二个样例中,移动的顺序为:(0, 0) => (1, 0) => (1, 1)(在对角线上,额外向上到 (1,2)=> (0,2) => (0,1) => (0,2)

在第三个样例中,玩家最初向右移动一格到 (1,0)(1,0),继续向右移动到 (2,0)(2,0),然后向上移动到 (2,1)(2,1),接着向下回到 (2,0)(2,0),再次向上移动到 (2,1)(2,1),最后向左移动一格到 (1,1)(1,1),此时在 y=xy = x 对角线上,触发加速,再向左移动到 (0,1)(0,1)

数据范围

  • 1n10001 \leq n \leq 1000
  • 每个指令是1, 2, 3, 4中的一个。
  • 输出的坐标绝对值不会超过 20002000

比赛补题

未认领
状态
已结束
题目
4
开始时间
2025-3-27 17:00
截止时间
2025-4-4 23:59
可延期
24 小时