Universal Cup Judging System

Universal Cup

Límite de tiempo: 1 s Límite de memoria: 1024 MB
Estadísticas

VegiCat und VegiDog spielen ein besonderes Duell in Slay the Spire. VegiCat spielt als Seherin A und VegiDog spielt als Seherin B. A und B haben die Basisangriffskräfte $a$ bzw. $b$ sowie die anfänglichen Lebenspunkte $h_A$ bzw. $h_B$.

problem_23595_17aa2d8990609c5348c9bf4e9d000ebd.png

Zu Beginn jeder Runde bestimmt das Spiel die Haltung jeder Seherin für diese Runde. Jede Seherin kann sich in einer der folgenden zwei Haltungen befinden:

  • Normal: Ausgeteilter und erlittener Schaden bleiben unverändert.
  • Zorn (Wrath): Sowohl der ausgeteilte als auch der erlittene Schaden werden verdoppelt.

Bei jedem Angriff entspricht der Schaden zunächst der Basisangriffskraft des Angreifers. Er wird verdoppelt, wenn sich der Angreifer im Zorn befindet, und nochmals verdoppelt, wenn sich der Verteidiger im Zorn befindet. Somit beträgt der Schaden in jeder Runde wie folgt:

  • Wenn sich beide Charaktere in Normal befinden, fügt A B $a$ Schaden zu und B fügt A $b$ Schaden zu.
  • Wenn sich genau ein Charakter im Zorn befindet, fügt A B $2a$ Schaden zu und B fügt A $2b$ Schaden zu.
  • Wenn sich beide Charaktere im Zorn befinden, fügt A B $4a$ Schaden zu und B fügt A $4b$ Schaden zu.

In jeder Runde greifen beide Charaktere gleichzeitig einmal an, und beide Lebenspunktewerte sinken gleichzeitig. Beide Angriffe werden wirksam, selbst wenn die Lebenspunkte eines Charakters während der Runde auf $0$ oder weniger fallen. Am Ende der Runde stirbt ein Charakter, dessen Lebenspunkte kleiner oder gleich $0$ sind. Stirbt einer der Charaktere, endet der Kampf sofort; andernfalls beginnt die nächste Runde. Die Basisangriffskräfte ändern sich nie, und Lebenspunkte werden niemals wiederhergestellt.

Die Haltungen für jede Runde werden vom Spiel bestimmt, nicht von den Spielern. Jede Kombination der Haltungen der beiden Charaktere ist in jeder Runde möglich.

VegiCat gewinnt nur, wenn B stirbt, während A am Leben bleibt. Wenn beide Charaktere in derselben Runde sterben, gewinnt VegiCat nicht. Bestimme, ob VegiCat unabhängig davon, wie sich die Haltungen beider Charaktere ändern, gewinnen wird.

Eingabe

Die erste Zeile enthält eine ganze Zahl $T$ ($1 \le T \le 10^5$), die Anzahl der Testfälle. Die Beschreibung der Testfälle folgt.

Jeder Testfall besteht aus einer Zeile mit vier ganzen Zahlen $a$, $b$, $h_A$ und $h_B$ ($1 \le a, b, h_A, h_B \le 10^{18}$), die jeweils die Basisangriffskräfte und die anfänglichen Lebenspunkte der Charaktere angeben.

Ausgabe

Gib für jeden Testfall YES aus, wenn VegiCat unabhängig davon gewinnt, wie sich die Haltungen beider Charaktere ändern, und andernfalls NO. Gib jede Antwort in einer eigenen Zeile aus.

Du kannst die Antwort in beliebiger Groß- und Kleinschreibung ausgeben. Zum Beispiel werden yEs, yes, Yes und YES alle als positive Antworten akzeptiert.

Beispiele

Eingabe 1

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

Ausgabe 1

YES
NO
NO
NO
YES

Eingabe 2

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

Ausgabe 2

YES
NO
NO
YES

Hinweis

Im ersten Testfall des ersten Beispiels stirbt B immer in der ersten Runde. A erleidet in dieser Runde höchstens $4$ Schaden und bleibt am Leben.

Im zweiten Testfall des ersten Beispiels gewinnt A, wenn beide Charaktere in der ersten Runde normal sind. Befinden sich beide Charaktere in der ersten Runde im Zorn, sterben beide. Daher lautet die Antwort NO.

Im zweiten Testfall des zweiten Beispiels betragen ihre verbleibenden Lebenspunkte $8$ und $1$, wenn beide Charaktere in den ersten $4$ Runden normal sind. Wenn beide in Runde $5$ in den Zorn wechseln, sterben beide, sodass der Sieg nicht garantiert ist.

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.