← Lahat ng tanong
KatamtamanPagpoprograma

Paano masusuri ng Python kung ang isang rook ay maaaring lumipat sa pagitan ng dalawang parisukat sa isang paglipat?

Maikling sagot
Magagawa ito ng isang rook kung ang mga parisukat ay nagbabahagi ng file o ranggo: x1 == x2 or y1 == y2 .

Tanong

Dahil sa dalawang natatanging chessboard squares, alamin kung ang isang rook ay maaaring lumipat mula sa una hanggang sa pangalawa sa isang galaw. Huwag pansinin ang mga sagabal ng iba pang mga piraso.

Input

Apat na integer mula 1 hanggang 8: ang file at ranggo ng unang parisukat, na sinusundan ng mga nasa pangalawa. Ang mga numero ay maaaring nasa magkahiwalay na linya.

Output

I-print ang YES kung posible ang paglipat; kung hindi man ay i-print ang NO .

Mga halimbawa

Mga numero ng input Output
6 6 8 8 HINDI
1 4 7 4 OO
2 6 2 1 OO

Paliwanag

Ang isang rook ay gumagalaw nang patayo o pahalang. Suriin kung ang mga coordinate ng file o mga coordinate ng ranggo ay pantay. Ang pahayag ay ginagarantiyahan na ang mga parisukat ay naiiba.

import sys

x1, y1, x2, y2 = map(int, sys.stdin.read().split())
print('YES' if x1 == x2 or y1 == y2 else 'NO')

Pinangangasiwaan ng sys.stdin.read().split() ang parehong mga puwang at mga line break. Para sa nakapirming apat na coordinate, ang programa ay gumagamit ng O(1) na oras at karagdagang memorya.

AhedresMga kondisyunal na ekspresyonPython

Mga plataporma

  • MAXIMUM

I-download na at subukan nang libre para sa iyong mga gawain!

I-download para sa Windows
10 15 libreng credits • Walang credit card na kailanganBersyon: Naglo-load…

Walang install - i-download at patakbuhin. Walang rehistro - mag-log in gamit ang Google.