متوسطالبرمجة
كيف يمكن لـ Python التحقق مما إذا كان بإمكان الرخ التحرك بين مربعين في نقلة واحدة؟
إجابة مختصرة
يمكن للرخ فعل ذلك إذا كان المربّعان يشتركان في العمود أو الصف:
x1 == x2 or y1 == y2.السؤال
بُعيد مربعين مختلفين على رقعة الشطرنج، حدِّد ما إذا كان بإمكان الرخ الانتقال من الأول إلى الثاني في نقلة واحدة. تجاهل العوائق التي تسببها القطع الأخرى.
الإدخال
أربعة أعداد صحيحة من 1 إلى 8: عمود المربع الأول وصفّه، ثم عمود المربع الثاني وصفّه. قد تكون الأعداد في أسطر منفصلة.
الإخراج
اطبع YES إذا كانت النقلة ممكنة؛ وإلا فاطبع NO.
أمثلة
| أعداد الإدخال | الإخراج |
|---|---|
| 6 6 8 8 | NO |
| 1 4 7 4 | YES |
| 2 6 2 1 | YES |
الشرح
يتحرك الرخ عموديًا أو أفقيًا. تحقَّق مما إذا كانت إحداثيات العمود أو إحداثيات الصف متساوية. يضمن نص المسألة أن المربعات مختلفة.
import sys
x1, y1, x2, y2 = map(int, sys.stdin.read().split())
print('YES' if x1 == x2 or y1 == y2 else 'NO')
يتعامل sys.stdin.read().split() مع كلٍّ من المسافات وفواصل الأسطر. وبالنسبة للإحداثيات الأربع الثابتة، يستخدم البرنامج O(1) من الزمن وذاكرة إضافية.
المنصات
- MAXIMUM
