编程介的小学生 2020-02-02 21:42 采纳率: 20.5%
浏览 205

Defense of the Ancients 程序写法

Problem Description
Defense of the Ancients (commonly known as DotA) is a custom scenario for the real-time strategy video game Warcraft III: Reign of Chaos and its expansion, Warcraft III: The Frozen Throne, based on the "Aeon of Strife" map for StarCraft. The objective of the scenario is for each team to destroy the opponents' Ancients, heavily guarded structures at opposing corners of the map. Players use powerful units known as heroes, and are assisted by allied heroes and AI-controlled fighters called "creeps". As in role-playing games, players level up their heroes and use gold to buy equipment during the mission.

Defense of the Ancients pits two teams of players against each other: the Sentinel and the Scourge. Players on the Sentinel team are based at the southwest corner of the map, and those on the Scourge team are based at the northeast corner. Each base is defended by towers and waves of units which guard the main paths leading to their base. In the center of each base is the "Ancient", a building that must be destroyed to win the game.

Each human player controls one Hero, a powerful unit with unique abilities. In DotA, players on each side choose one of 101 heroes, each with different abilities and tactical advantages over other heroes. The scenario is highly team-oriented; it is difficult for one player to carry the team to victory alone. Defense of the Ancients allows up to ten players in a five-versus-five format and an additional two slots for referees or observers, often with an equal number of players on each side.

In DotA, each hero has three basic attributes: strength, agility and intellect. One point of strength can give the hero 19 points of life and 0.03 life regen per second; One point of agility increases the hero's attack speed by 1% and every 7 points of agility increases the hero's Armor by 1; One point of intellect gives the hero 13 points of mana and 0.03 mana regen per second.

To simplify the problem, we make the following conventions: one points of strength gives a hero S points of fighting ability; one points of agility gives a hero A points of fighting ability; one points of intellect gives a hero I points of fighting ability. S, A and I are fixed but unknown real numbers. A hero with 0 points of the three attributes has 0 points of fighting ability. When two heroes fight with each other, the one has higher fighting ability always win. When two heroes that have equal fighting ability meet, one of them randomly wins.

Burning and AngleLover are both excellent DotA player. Burning is good at using the hero "Shadow Fiend" while AngleLover is famours for his "Rattletrap". They have fight with each other for n times. We knows the result and the attribute value of the two hero in each fight, but we don't know the exact value of S, A and I. Now given the attribute value of the two hero in other m fights, can you determine who will be the winer?

It is guaranteed that none of S A, and I is more than 100 times as high as another, and none of them are 0.

Input
In the first line of input file there is a single integer T, means the number of test cases. (1 ≤ T ≤ 10)

For each test case, in the first line there are two integers: n and m as mentioned above (0 ≤ n ≤ 300, 1 ≤ m ≤ 2000). Then there are n+m lines following. From line 2 to line n+1, each line describes a battle in the format:

winner S1 A1 I1 S2 A2 I2

The string winner is either "Burning" or "AngleLover", S1, A1, I1 is the strength value, agility value and intellect value of Burning's hero respectively. And S2, A2, I2 is the strenght value, agility value and intellect value of AngleLover's hero respectively.

From line n+2 to line n+m+1, each line describes battles whose result is to be determined in the format:

S1 A1 I1 S2 A2 I2

Each variable's meaning is the same as the mentioned above.

The value of the attributes are all integers between 0 and 1000 inclusively.

Output
For each battle to be determined, output a string in a line:

If Burning will win the battle, output "Burning"; if AngleLover will win, output "AngleLover". If it is not sure, output "I don't know".

Sample Input
1
3 3
Burning 6 5 4 5 4 7
AngleLover 5 4 2 3 5 5
Burning 9 0 10 8 2 7
6 6 4 5 4 7
9 0 10 8 2 6
3 4 8 4 4 6

Sample Output
Burning
Burning
I don't know

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
    • ¥15 教务系统账号被盗号如何追溯设备
    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题