Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Му4иТеЛь
1

Армии сил Добра и Зла

13.10.2013, 19:25. Просмотров 1003. Ответов 3
Метки нет (Все метки)


Привет всем) Помогите плиз решить задачу
В отчаянной, последней битве сошлись армии сил Добра и Зла. Вам предстоит нелегкая задача — определить, кто же победит.

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

Будем считать, что битва происходит пошагово. Армии атакуют по очереди. За один ход каждый живой солдат атакующей армии наносит армии урон. Сначала урон наносится раненому солдату, если таковой имеется, затем – остальным. Если здоровье солдата равно нулю, солдат умирает (количество солдат в армии уменьшается), а оставшийся урон причиняется следующему солдату, и так далее до того, пока не останется неиспользованных очков урона или армия не будет побеждена. После этого защищавшаяся армия начинает свою атаку.

Армия считается побежденной, если в ней не осталось ни одного живого солдата.

Первый ход делают силы Зла, как более подлые.

Входные данные
В первой строке вводятся характеристики сил Добра: числа gn, gh и gs – количество солдат, количество очков здоровья и количество очков урона. Во второй строке в аналогичном формате вводятся характеристики сил Зла.

Выходные данные
Выведите "Good", если победят силы Добра, и "Evil", если победят силы Зла.

Примеры тестов
входные данные
1 3 2
1 3 2
выходные данные
Evil
входные данные
2 2 3
1 100 5
выходные данные
Evil
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2013, 19:25
Ответы с готовыми решениями:

В американской армии считается несчастливым число 13, а в японской — 4. Перед международными учениями штаб армии реш
1. В американской армии считается несчастливым число 13, а в японской — 4. Перед международными...

Вывести порядковый номер армии A и номер полка P в этой армии для данного Амура
В одной армии Амуров 10 полков. А в одном полку 200 Амуров. Послужной номер Амура - Х. Определите к...

Вычислить проекции сил и моменты сил относительно осей координат
Вычислить проекции сил и моменты сил относительно осей координат. Правильно ли решено?

Составить уравнение проекции сил и момента сил
День добрый, помогите пожалуйста составить уравнение проекции сил и момента сил для данной задачи....

3
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 80
04.11.2013, 22:53 2
Немного непонятно на счет урона, т.е. 1 живой солдат атакует и убивает 0.5 солдат?? а 0.5 солдат это раненый??
0
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 80
07.11.2013, 00:00 3
Ты куда пропал?
0
350 / 343 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
07.11.2013, 00:57 4
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
program Good_vs_Evil;
uses crt;
var good_soldier,good_health,good_damage:integer;sold_all_good:integer;heal_all_good:integer;step:integer;
    evil_soldier,evil_heals,evil_damage:integer;sold_all_evil:integer;heal_all_evil:integer;
BEGIN
  Writeln('**********!!!WELCOME!!!**********');
  Write('Enter number [good_soldier] = ');readln(good_soldier);
  Write('Enter number [good_health] = ');readln(good_health);
  Write('Enter number [good_damage] = ');readln(good_damage);
  Write('Enter number [evil_soldier] = ');readln(evil_soldier);
  Write('Enter number [evil_heals] = ');readln(evil_heals);
  Write('Enter number [evil_damage] = ');readln(evil_damage);
  Writeln;Writeln;Writeln;step:=1;
  heal_all_good:=(good_soldier * good_health);
  heal_all_evil:=(evil_soldier * evil_heals);
  While (1<>0) do
    begin
      Write('Round ',step,'   =>    ');
        Write('   good = ',heal_all_good div good_health);
        Writeln('   evil = ',heal_all_evil div evil_heals);
      heal_all_good:=(heal_all_good - evil_damage);
      if (heal_all_good<=0) then begin Writeln('WIN EVIL');exit;end;
      heal_all_evil:=(heal_all_evil - good_damage);
      if (heal_all_evil<=0) then begin Writeln('WIN GOOD');exit;end;
        Writeln('                   -------------------');
        Write('                   good = ',heal_all_good div good_health);
        Writeln('   evil = ',heal_all_evil div evil_heals);
      inc(step);
      Writeln;
    end;
END.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2013, 00:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Существо стороны зла
Вот только начала рисовать и не много покрасила, только кажется слишком много теней добавила,...

Является ли стратегия “Склонность к нарастанию зла” ЭСС?
Тема для тех, кто знаком с этологией. Докинз в &quot;Эгоистичном гене&quot; (глава 12) делал оптимистичный...

Всем добра help разобраться :(
Напишите пожалуйста коды калькулятора на PHP которые выполняют следующие функции: Основные...

Некорректная работа драйвера, не могу определить корень зла
Доброго времени суток. Вообщем, даже не знаю, в правильную ли раздел кладу тему, но надеюсь, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.