Loading Now

spiderMove

Một con nhện đứng ở gốc (0, 0) của một mặt phẳng Cartesian và muốn di chuyển đến điểm (x, y). Tại mỗi bước, chú nhện chỉ được di chuyển 1 ô vuông theo một trong các hướng sau: U(lên), D(xuống), L(trái), R(phải), tuỳ thuộc vào vị trí nó hướng đến:

  • nếu x ≥ 0, y ≥ 0. Chú nhện có thể đi theo hướng U hoặc R.
  • nếu x ≥ 0, y ≤ 0. Chú nhện có thể đi theo hướng D hoặc R.
  • nếu x ≤ 0, y ≥ 0. Chú nhện có thể đi theo hướng U hoặc L.
  • nếu x ≤ 0, y ≤ 0. Chú nhện có thể đi theo hướng D hoặc L.

Tìm các cách để chú nhện có thể đến tại điểm (x, y) cho trước.

Ví dụ

  • Với x = 2 và y = -2, đầu ra là spiderMove(x, y) = 6.

    Có 6 cách để di chuyển là:

    • RRDD;
    • RDRD;
    • RDDR;
    • DRRD;
    • DRDR;
    • DDRR.
  • Với x = -3 và y = 0, đầu ra là spiderMove(x, y) = 1.

    Chỉ có 1 cách di chuyển:

    • LLL.
  • Với x = 0 và y = 0, đầu ra là spiderMove(x, y) = 1.

Đầu vào/Đầu ra

  • [giới hạn thời gian chạy] 0.5 giây

  • [đầu vào] integer x

    Điều kiện tiền đề:
    -15 ≤ x ≤ 15.

  • [đầu vào] integer y

    Điều kiện tiền đề:
    -5 ≤ y ≤ 25.

  • [đầu ra] integer

    • Chắc chắn rằng kết quả nhỏ hơn 231.

Post Comment

Contact