aman nimje Ответов: 4

Как я могу решить эту проблему некоторые скрытые тестовые случаи не работают


Аша и Амар играют в SpaceKings видеоигру. Это игра для двух игроков, где второй игрок является помощником. Аша нуждается в вашей помощи, чтобы максимизировать свое золото, играя в свою любимую игру. Оба стоят лицом к лицу с N инопланетянами. Аша и Амар находятся в одном месте, и инопланетяне выстроились перед ними. Аша и Амар по очереди стреляют в пришельцев, и она идет первой. Во время своего хода Аша может выбрать любого инопланетянина для стрельбы (это означает, что Аша может пропустить поворот). Во время своей очереди Амар всегда стреляет в ближайшего к нему инопланетянина, чтобы помочь Аше максимизировать свое золото. Аша и Амар не могут стрелять в мертвых инопланетян.

Если Аша стреляет в инопланетянина, его хит-пойнты уменьшаются на P. если Амар стреляет в инопланетянина, его хит-пойнты уменьшаются на Q. Если хит-пойнты инопланетянина опустятся ниже 1, он будет убит. I-й инопланетянин начинается с приветственных хитов. Аша получает золото Gi, если ее выстрел убивает I-го инопланетянина, но ни одного, если выстрел Амара убивает его. Какое максимальное количество золота может получить Аша?

Ввод:

Каждый случай начинается с одной строки, содержащей три целых числа, разделенных пробелами, представляющих P, Q и N. затем следует N строк, а i-я строка содержит два целых числа, разделенных пробелами, представляющих Hi и Gi. Пришельцы приведены в порядке их удаленности от Аши и Амара. Другими словами, Амар будет стрелять в I-го инопланетянина только в том случае, если все инопланетяне < i мертвы.

Выход - максимальное количество золота, которое Аша может получить

Ввод

20 60 3

80 100

80 200

120 300

Выход - 500

Объяснение:
Аша должна отказаться от первого пришельца. Во время своих первых двух поворотов она должна смягчить третьего пришельца, доведя его до 80 л. с., что позволит ей легко получить последний выстрел по второму и третьему пришельцам

Вот некоторые из этих других тестовых случаев:

Ввод

50 60 2

40 100

40 90

Выход - 100

Ввод

50 60 2

40 100

40 200

Выход - 200

Ввод

50 100 2

60 100

60 200

Выход - 200

Ввод

50 400 2

60 100

190 200

Выход - 0

Что я уже пробовал:

он доступен в stackoverflow, но не запускает все тестовые случаи

4 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как я могу решить эту проблему некоторые скрытые тестовые случаи не работают

У вас есть секретная проблема в вашем секретном коде, но если я дам вам секретную магическую коррекцию, мне придется убить вас. :)
Если вы хотите, чтобы мы помогли вам решить проблему, боюсь, вам придется подождать.
Если вы хотите, чтобы мы помогли вам исправить ваш код, вы должны показать код и дать как можно больше подробностей о проблеме.


Рейтинг:
1

OriginalGriff

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.

Мы нуждаемся в вас, чтобы сделать работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали. Просто взять код с другого сайта и надеяться, что он сделает свою работу, а затем попросить других исправить его для вас, не будет сокращать его.

Либо напишите свой собственный (рекомендуется), либо разбейте отладчик и выясните, почему взятый вами код не работает. Мы не собираемся делать это для вас.


Рейтинг:
1

KarstenK

Дайте немного секретного соуса вашему коду, и он будет работать. Одним из важных ингредиентов является отладчик а во-вторых, написать несколько полезных тестов или запустить проблемные пути кода, введя значения, чтобы поразить их. Это то, что я сделал сегодня утром, чтобы сделать свой хлеб, и теперь мой код работает нормально :-O


Рейтинг:
0

Rick York

Похоже, что вам нужно моделировать игроков и инопланетян. Есть два игрока и N инопланетян. Они должны обладать характеристиками, описанными в постановке задачи. Пусть они по очереди стреляют, пока не останется больше живых инопланетян, и вы получите свой результат. Под моделью я подразумеваю создание класса для их представления. Класс игрока будет нуждаться в методе "стрелять." Инопланетянам понадобится метод вызова, когда они будут застрелены, чтобы настроить свой уровень здоровья, и один, чтобы сказать вам, каков их уровень здоровья.

Что еще в этом есть?

и, нет, я не буду писать никакой код для вас. Это твоя работа.