79 / 205
Abramyan · CaseQiyin15 ball· ~10 daqiqa

Shaxmat figurasi yurishini tekshirish

Shaxmat taxtasida figura turi fig (1 — Rook (ladya), 2 — Bishop (fil), 3 — Queen (farzin), 4 — Knight (ot)) va ikkita katak (x1, y1) hamda (x2, y2) berilgan (1–8). Taxtada boshqa figuralar yo'q deb hisoblab, figura bir yurishda birinchi katakdan ikkinchisiga o'ta olsa true, aks holda false qaytaring. Katak o'zgarmasa ((x1,y1) = (x2,y2)) yurish yo'q — false.

example.go
func chessMove(fig int, x1 int, y1 int, x2 int, y2 int) bool {
    // ...
}

Misollar

kod
Input: fig=1, x1=1, y1=1, x2=1, y2=5
Output: true
kod
Input: fig=2, x1=1, y1=1, x2=4, y2=4
Output: true
kod
Input: fig=4, x1=1, y1=1, x2=2, y2=3
Output: true

Maslahatlar

  1. dx = |x2 - x1|, dy = |y2 - y1|.
  2. Ladya: dx == 0 yoki dy == 0. Fil: dx == dy. Farzin — ladya yoki fil yurishi. Ot: (dx, dy) — (1, 2) yoki (2, 1).