В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
CookieMonster131
CookieMonster131
13.04.2021 13:52 •  Информатика

Python
Три друга, Асхат, Эльдар и Айжан, решили сыграть одну интересную игру. Игра называется “Второй максимум”. Правило игры заключается в следующем. Каждый из игроков записывает число на бумаге не показывая другим. После этого они раскрывают какие числа написали. Побеждает тот кто написал второй максимум. При этом гарантируется что все числа различны.

Вводные данные: На первой строке даны 3 числа x, y, z (1 ≤ x, y, z ≤ 10^9). х число загадавший Асхат. у число загадавший Эльдар. z число загадавшая Айжан.

Выходные данные: Вывести Askhat если победил Асхат. Вывести Eldar если победил Эльдар. Вывести Aizhan если победила Айжан.

Пояснение Примера 1: Победил Эльдар по скольку он загадал число 2, которое больше числа 1 который загадал Асхат и меньше числа 3 которую загадала Айжан.

Пример 1
Ввод:
1 2 3

Вывод:
Eldar
Пример 2
Ввод:
22 10 39

Вывод:
Askhat
Пример 3
Ввод:
100 240 101

Вывод:
Aizhan

Показать ответ
Ответ:
111rrrr4544tgd
111rrrr4544tgd
02.12.2020 16:11

Координаты даны в двоичной системе счисления, поэтому переводим их в десятичную.

Потом сортируем по порядку по номерам точек.

И отмечаем точки на графике, соединяя соседние отрезком.

Я все эти преобразования сделал в таблице Эксель.

Саму таблицу и картинку, полученную после нанесения всех точек смотри внизу.

А вот координаты точек, отсортированные и в десятичной системе:

№     x     y

1     11     7

2     12     7

3     13     6

4     13     5

5     14     6

6     15     6

7     16     5

8     15     5

9     12     3

10     10     1

11     7     1

12     5     2

13     4     1

14     2     2

15     3     2

16     4     3

17     3     6

18     1     7

19     3     8

20     4     8

21     5     7

22     6     5

23     7     6

24     9     6

25     8     5

26     7     5

27     8     4

28     10     4

29     12     5

30     12     6

31     11     7


Восстановите рисунок по заданным координатам. Расставьте точки и соедините их в правильном порядке.
Восстановите рисунок по заданным координатам. Расставьте точки и соедините их в правильном порядке.
0,0(0 оценок)
Ответ:
Саняша69
Саняша69
21.11.2021 10:50
Код#include <iostream>#include <utility>#include <numeric>#include <vector>class Beast {    int trigger;    double aggression;    double rage_aggression;public:    Beast() = default;    Beast(int trigger, double aggression, double range_aggression)    : trigger(trigger), aggression(aggression), rage_aggression(range_aggression)    { }    Beast(const Beast&) = default;    Beast(Beast&&) = default;    Beast& operator=(const Beast&) = default;    Beast& operator=(Beast&&) = default;    [[nodiscard]] double calculate_aggression(unsigned long amount) const {        return amount > trigger ? rage_aggression : aggression;    }    void ReadFrom (std::istream& is) {        is >> aggression >> rage_aggression >> trigger;    }    void WriteTo(std::ostream &os) const {        os << aggression << " " << rage_aggression << " " << trigger;    }};std::istream& operator >>(std::istream &is, Beast &cls) {    cls.ReadFrom(is);    return is;}std::ostream& operator <<(std::ostream &os, const Beast &cls) {    cls.WriteTo(os);    return os;}class Cage {    double durability;    std::vector<Beast> container;public:    explicit Cage(double durability, std::vector<Beast> container)    : durability(durability), container(std::move(container))    { }    Cage(const Cage&) = default;    Cage(Cage&&) = default;    Cage& operator=(const Cage&) = default;    Cage& operator=(Cage&&) = default;    [[nodiscard]] double calculate_aggressive() const {        auto amount = container.size();        if (amount == 0) return 0;        return std::accumulate(container.begin(), container.end(), 0.0,        [amount](double total_aggressive, const Beast & beast){            return total_aggressive + beast.calculate_aggression(amount);        });    }    [[nodiscard]] bool is_it_normal() const {        auto aggressive = calculate_aggressive();        return aggressive <= durability;    }    [[nodiscard]] int get_capacity() const {        return container.size();    }    [[nodiscard]] double get_durability() const {        return durability;    }};template <typename T>void subsetsUtil(std::vector<T>& A, std::vector<std::vector<T> >& res,                 std::vector<T>& subset, int index){    res.push_back(subset);    for (int i = index; i < A.size(); i++) {        // include the A[i] in subset.        subset.push_back(A[i]);        // move onto the next element.        subsetsUtil(A, res, subset, i + 1);        // exclude the A[i] from subset and triggers        // backtracking.        subset.pop_back();    }}template <typename T>std::vector<std::vector<T>> P(std::vector<T>& A){    std::vector<T> subset;    std::vector<std::vector<T>> res;    int index = 0;    subsetsUtil(A, res, subset, index);    return res;}int main () {    int n, s;    Beast noname{};    std::vector<Beast> set_of_beasts;    std::cin >> n >> s;    for (auto i = 0; i < n; ++i) {        std::cin >> noname;        set_of_beasts.push_back(noname);    }    auto selections = P(set_of_beasts);    std::vector<Cage> variants;    std::transform(selections.begin(), selections.end(), std::back_inserter(variants), [s](std::vector<Beast> &selection){        return Cage(s, selection);    });    std::vector<Cage> true_variants;    std::copy_if(variants.begin(), variants.end(), std::back_inserter(true_variants), [](Cage& x) {return x.is_it_normal();});    auto the_best_of_the_best_variant = *std::max_element(true_variants.begin(), true_variants.end(), [](Cage & s1, Cage & s2){        return s1.get_capacity() < s2.get_capacity();    });    std::cout << the_best_of_the_best_variant.get_capacity();    return 0;}
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота