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

Программирование, паскаль/питон

на фкн вшэ после 2 курса студенты выбирают себе специализацию. каждый студент составляет список приоритетов специализаций, на которые он хотел бы попасть. кроме того, у каждого студента есть его позиция в рейтинге (зависит от среднего за время обучения, у некоторых студентов позиция может совпадать). на каждой специализации есть максимальное количество студентов, которые могут быть на неё приняты.

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

формат входных данных
в первой строке задается два числа: n и k (1 ≤ n, k ≤ 1) — количество студентов и специализаций соответственно.

в следующей строке задается k натуральных чисел si (1 ≤ si ≤ 1), где si — количество студентов, которые готова принять специализация номер i.

в следующих n строках содержится описание приоритетов для каждого из студентов. описание состоит из числа r (1 ≤ r ≤ n) — позиции студента в рейтинге, числа t (1 ≤ t ≤ n) — количества желаемых специализаций и t чисел от 1 до k — номера желаемых специализаций в порядке убывания приоритета. номера специализаций не повторяются. гарантируется, что сумма t для всех студентов не превосходит 106.

формат результата
для каждого из n студентов выведите номер специализации, на которую он будет распределен. в случае, если на всех желаемых специализациях все места заняты студентами с более высокой позицией в рейтинге, то для студента следует вывести число -1. если правильных ответов несколько — выведите любой из них.

Показать ответ
Ответ:
KunLallalit
KunLallalit
23.03.2023 06:06

a = 3, b = 1, c = 2

if a > b (3 > 1): M = a (M = 3, условие сработало - эту ветку выполняем)

else: M = b (условие сработало - эту ветку пропускаем)

if c > b (2 > 1): M = c (M = 2, условие сработало - эту ветку выполняем)

else: M = b (условие сработало - эту ветку пропускаем)

M = 2

if c > M: M = c

a = 3, b = 1, c = 2

if a > b (3 > 1): M = a (M = 3)

else: M = b (условие сработало - эту ветку пропускаем)

if c > M (2 > 3): M = c (условие НЕ сработало - эту ветку пропускаем)

M = 3

Объяснение:

В первой программе сначала сравнивают первое и второе число и переменной М присваивают значение большего из них. Затем сравнивают второе и третье число и переменной М присваивают значение большего из них. Если первое и третье число больше второго числа, то программа выдаёт неверный результат.

Во второй программе сначала сравнивают первое и второе число и переменной М присваивают значение большего из них. Затем сравнивают третье число и переменную М и переменной М присваивают значение третьего числа, если оно больше. Программа выдаёт верный результат.

0,0(0 оценок)
Ответ:
гоша210
гоша210
10.08.2022 15:01

Алгоритм довольно простой и сложный одновременно.

Для начала на странице типа /reset мы вводим в поле имейл и проверяем есть ли такой. Если есть, то в отдельной таблице или в новом поле (в вашем user) соотносим имейл и случайные символы (как с авторизацией). И отправляем на тот имейл ссылку типа example.com/reset?[случайные символы]. По переходу на reset?[ххх] проверяем к какому имейлу или пользователю относится эти символы. После чего меняем password в таблице. (Не забывая зашифровать).

PS: лучше задавать такие вопросы на stackoverflow или на других тематических форумах. И да, сухо, я знаю. (Без примеров)

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота