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는 B에게 $a$의 피해를 입히고 B는 A에게 $b$의 피해를 입힙니다.
  • 정확히 한 캐릭터만 분노 경지에 있으면, A는 B에게 $2a$의 피해를 입히고 B는 A에게 $2b$의 피해를 입힙니다.
  • 두 캐릭터가 모두 분노 경지에 있으면, A는 B에게 $4a$의 피해를 입히고 B는 A에게 $4b$의 피해를 입힙니다.

매 라운드마다 두 캐릭터는 동시에 한 번씩 공격하며, 두 체력 값도 동시에 감소합니다. 라운드 도중 어느 한 캐릭터의 체력이 $0$ 이하가 되더라도 두 공격 모두 유효하게 적용됩니다. 라운드가 끝날 때 체력이 $0$ 이하인 캐릭터는 사망합니다. 어느 한 캐릭터라도 사망하면 전투는 즉시 종료되며, 그렇지 않으면 다음 라운드가 시작됩니다. 기본 공격력은 절대 변하지 않으며 체력도 절대 회복되지 않습니다.

매 라운드의 경지는 플레이어가 아니라 게임에 의해 결정됩니다. 매 라운드마다 두 캐릭터의 경지의 모든 조합이 가능합니다.

VegiCat은 A가 살아남은 상태에서 B가 사망할 때만 승리합니다. 두 캐릭터가 같은 라운드에 사망하면 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}$)를 포함하며, 이는 각각 캐릭터들의 기본 공격력과 초기 체력을 나타냅니다.

출력

각 테스트 케이스마다 두 캐릭터의 경지가 어떻게 변하든 상관없이 VegiCat이 승리한다면 YES를, 그렇지 않다면 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.