Universal Cup Judging System

Universal Cup

時間限制: 1 s 記憶體限制: 1024 MB
统计

يلعب VegiCat و VegiDog مبارزة خاصة في لعبة Slay the Spire. يلعب VegiCat بشخصية المراقبة A، ويلعب VegiDog بشخصية المراقبة B. تمتلك A و B قوتي هجوم أساسيتين $a$ و $b$ وقيمتي صحة ابتدائيتين $h_A$ و $h_B$ على التوالي.

problem_23595_17aa2d8990609c5348c9bf4e9d000ebd.png

في بداية كل جولة، تحدد اللعبة وضعية كل مراقبة لتلك الجولة. يمكن لكل مراقبة أن تكون في إحدى الوضعيتين التاليتين:

  • عادية (Normal): الضرر الناتج والضرر المتلقى لا يتغيران.
  • غضب (Wrath): يتضاعف كل من الضرر الناتج والضرر المتلقى.

في كل هجوم، يساوي الضرر مبدئياً قوة الهجوم الأساسية للمهاجم. ويتضاعف إذا كان المهاجم في وضعية الغضب، ويتضاعف مرة أخرى إذا كان المدافع في وضعية الغضب. وبالتالي، يكون الضرر في كل جولة كما يلي:

  • إذا كانت الشخصيتان في الوضعية العادية، تلحق A ضرراً قدره $a$ بـ B، وتلحق B ضرراً قدره $b$ بـ A.
  • إذا كانت شخصية واحدة بالضبط في وضعية الغضب، تلحق A ضرراً قدره $2a$ بـ B، وتلحق B ضرراً قدره $2b$ بـ A.
  • إذا كانت الشخصيتان في وضعية الغضب، تلحق A ضرراً قدره $4a$ بـ B، وتلحق B ضرراً قدره $4b$ بـ A.

في كل جولة، تهاجم كلتا الشخصيتين مرة واحدة في الوقت نفسه، وتنخفض قيمتا الصحة في الوقت نفسه. يسري مفعول كلا الهجومين حتى لو أصبحت صحة إحدى الشخصيتين $0$ أو أقل أثناء الجولة. في نهاية الجولة، تموت الشخصية التي تكون صحتها أقل من أو تساوي $0$. إذا ماتت إحدى الشخصيتين، تنتهي المعركة فوراً؛ وإلا تبدأ الجولة التالية. قوى الهجوم الأساسية لا تتغير أبداً، والصحة لا تُستعاد أبداً.

يتم تحديد الوضعيات لكل جولة بواسطة اللعبة، وليس بواسطة اللاعبين. أي تركيبة لوضعيتي الشخصيتين ممكنة في كل جولة.

يفوز VegiCat فقط إذا ماتت B بينما بقيت A على قيد الحياة. إذا ماتت الشخصيتان في نفس الجولة، فلا يفوز VegiCat. حدد ما إذا كان VegiCat سيفوز بغض النظر عن كيفية تغير وضعيتي الشخصيتين.

الإدخال

يحتوي السطر الأول على عدد صحيح $T$ ($1 \le T \le 10^5$)، وهو عدد حالات الاختبار. يلي ذلك وصف حالات الاختبار.

تحتوي كل حالة اختبار على سطر واحد به أربعة أعداد صحيحة $a$ و $b$ و $h_A$ و $h_B$ ($1 \le a, b, h_A, h_B \le 10^{18}$)، تمثل قوتي الهجوم الأساسيتين وقيمتي الصحة الابتدائيتين للشخصيتين على التوالي.

الإخراج

لكل حالة اختبار، اطبع YES إذا كان VegiCat سيفوز بغض النظر عن كيفية تغير وضعيتي الشخصيتين، و NO خلاف ذلك. اطبع كل إجابة في سطر منفصل.

يمكنك طباعة الإجابة بأي حالة أحرف (كبيرة أو صغيرة). على سبيل المثال، تُقبل كل من yEs و yes و Yes و YES كإجابات إيجابية.

أمثلة

الإدخال 1

5
1 1 5 1
1 1 4 1
1 1 1 1
1 1 1 5
2 3 13 2

الإخراج 1

YES
NO
NO
NO
YES

الإدخال 2

4
3 2 18 13
3 2 16 13
3 2 9 13
3 2 17 13

الإخراج 2

YES
NO
NO
YES

ملاحظة

في حالة الاختبار الأولى من المثال الأول، تموت B دائماً في الجولة الأولى. تتلقى A على الأكثر $4$ من الضرر في تلك الجولة وتبقى على قيد الحياة.

في حالة الاختبار الثانية من المثال الأول، تفوز A إذا كانت الشخصيتان في الوضعية العادية في الجولة الأولى. وإذا كانت الشخصيتان في وضعية الغضب في الجولة الأولى، تموت كلتاهما. لذلك فإن الإجابة هي NO.

في حالة الاختبار الثانية من المثال الثاني، إذا كانت الشخصيتان في الوضعية العادية خلال أول $4$ جولات، فإن قيمتي الصحة المتبقيتين لهما هما $8$ و $1$. وإذا دخلت كلتاهما في وضعية الغضب في الجولة $5$، تموت كلتاهما، لذا فإن الفوز غير مضمون.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.