|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|
В игре "кто кричит громче" два игрока А и В генерируют последовательности значений переменной длины03.11.2021, 20:37. Показов 1715. Ответов 14
Всем привет, я новичек в программировании, хотел бы спросить у вас совет как можно решить данную задачу, какими методами и циклами.
"В игре "кто кричит громче" два игрока А и В генерируют последовательности значений переменной длины. Каждое значение представлено одним символом. Последовательности могут быть разной длины, поскольку значения могут быть разделены одним (или несколькими) пробелами и символами табуляции ('\t'). Однако количество символов, не содержащих пробелов, равно для каждой последовательности. Каждый элемент последовательности A сравнивается с соответствующим элементом последовательности B, и ему присваивается точка: - игроку, который сгенерировал наибольшее значение (например, A), если разница между значением A и значением B меньше чем или равным параметру k, определенному в начале испытания - игроку, который сгенерировал наименьшее значение (например, B), если разница между значением A и значением B больше , чем k (т. Е. A потерпел неудачу) - никому, в случае ничьей. В конце задания выигрывает тот, кто набрал наибольшее количество очков. В случае ничьей выигрывает игрок, сгенерировавший последовательность с меньшей общей суммой значений. В случае дальнейшей ничьей, выигрывает игрок с первой последовательностью в лексикографическом порядке. Не может случиться так, что два игрока генерируют точно такую же последовательность значений. Необходимо создать функцию, которая оценивает рейтинг турнира "кто кричит громче". Функция принимает в качестве входных данных список строк и параметр k и возвращает итоговый рейтинг турнира в виде списка. Строка в позиции "i" в списке ввода соответствует последовательности значений игрока "i". В турнире каждый игрок бросает вызов всем остальным своим собственным последовательность: таким образом, если есть n игроков, каждый игрок сделает n-1 проблемы. Количество выигранных испытаний определяет позицию в рейтинге. В случае ничьей игроки распределяются в соответствии с их начальной позицией. Пример турниров "кто кричит громче" между тремя игроками. Если k=2 и список ["aac", "ccc", "caa"], то вызов 0, 1 выигрывается с 1 на 2 очка до 0, так как разница между "c" и "a" меньше или равна 2 задача 0, 2 - ничья 1 к 1, две последовательности имеют равная сумма, но 0 выигрывает, потому что "aac" < "caa" задача 1, 2 выигрывается 1 на 2 очка до 0, так как разница между "с" и "а" меньше или равна 2. В конце концов, у 0 есть 1 задача, у 1 есть 2 задачи и у 2 есть 0 проблемы, поэтому итоговый рейтинг будет [1, 0, 2]. Если k=1 и список ["aac", "ccc", "caa"], то вызов 0, 1 выигрывается от 0 на 2 очка до 0, так как разница между "c" и "a" больше 1 задача 0, 2 - это ничья 1 к 1, две последовательности имеют равная сумма равна, но 0 выигрывает, потому что "aac" < "caa". задача 1, 2 выигрывается 2 за 2 очка до 0, так как разница между "с" и "а" больше 1. В конце концов, у 0 есть 2 проблемы, у 1 есть 0 проблем и у 2 есть 1 вызов, поэтому окончательный рейтинг будет [0, 2, 1]. Если k=10 и список ["abc", "dba", "EZO"], то задача 0, 1 - ничья, но 0 выигрывает, потому что ее последовательность имеет меньшую сумму вызов 0, 2 выигрывается 0 на 2 очка к 1, потому что 2 - это неправильно с буквой "о" против "с" вызов 1, 2 выигрывается 1 за 2 очка к 1, потому что 2 - это терпит неудачу с буквой "о" против "а". В конце концов, у 0 есть 2 проблемы, у 1 есть 1 проблема и у 2 есть 0 проблемы, поэтому итоговый рейтинг будет [0, 1, 2]. Если k=50 и список ["A ƐÈÜ", "BEAR", "c Ʈ".] Вызов 0, 1 выигрывается 1 на 4 очка до 0. Вызов 0, 2 выигрывается 2 за 3 очка к 1. Задача 1, 2 выигрывается 1 на 3 очка к 1. В конце концов, у 0 есть 0 проблем, у 1 есть 1 проблема и у 2 есть 2 проблемы, поэтому итоговый рейтинг будет [1, 2, 0]. задача в оригинале '''In the game "who screams louder," two players A and B, generate sequences of variable length values. Each value is represented by a single character. The sequences can be of different lengths because the values can be separated by one (or more) whitespaces and tabs ('\t'). The number of non-space characters is, however, equal for each sequence. Each element of the sequence of A is compared with the corresponding element of the B's sequence, and a point is assigned: - to the player who generated the highest value (for example A), if the difference between the value of A and the value of B is less than or equal to a parameter k decided at the beginning of the challenge - to the player who has generated the lowest value (for example B), if the difference between the value of A and the value of B is greater than k (i.e., A has failed) - to none, in case of a tie. At the end of the assignment, whoever scored the most points wins. In the case of a tie, the player who generated the sequence with the lower total sum of values wins. In the case of a further tie, the player with the first sequence in lexicographic order wins. It cannot happen that two players generate precisely the same sequence of values. It is necessary to create a function that evaluates the ranking of a "who screams louder" tournament. The function takes as input a list of strings and a k parameter, and returns the final ranking of the tournament, as a list. The string in position "i" in the input list corresponds to the player "i"'s sequence of values. In the tournament, each player challenges all the others with their own sequence: thus, if there are n players, each player will make n-1 challenges. The number of winning challenges determines the position in the ranking. In case of a tie, the players are ordered according to their initial position. Example of "who screams louder" tournaments between three players. If k=2 and the list is ["aac", "ccc", "caa"], then the challenge 0, 1 is won by 1 by 2 points to 0, since the difference between "c" and "a" is less than or equal to 2 the challenge 0, 2 is a 1 to 1 draw, the two sequences have equal sum, but 0 wins because "aac" < "caa" the challenge 1, 2 is won by 1 by 2 points to 0, since the difference between "c" and "a" is less than or equal to 2. In the end 0 has 1 challenge, 1 has 2 challenges and 2 has 0 challenges, so the final ranking will be [1, 0, 2]. If k=1 and the list is ["aac", "ccc", "caa"], then the challenge 0, 1 is won by 0 by 2 points to 0, since the difference between "c" and "a" is greater than 1 the challenge 0, 2 is a 1 to 1 tie, the two sequences have equal sum equal, but 0 wins because "aac" < "caa". the challenge 1, 2 is won by 2 for 2 points to 0, since the difference between "c" and "a" is greater than 1. In the end 0 has 2 challenges, 1 has 0 challenges and 2 has 1 challenge, so the final ranking will be [0, 2, 1]. If k=10 and the list is [ "abc", "dba" , "eZo"], then the challenge 0, 1 is a tie, but 0 wins because its sequence has lower sum the challenge 0, 2 is won by 0 by 2 points to 1, because 2 is wrong with the letter 'o' against 'c' the challenge 1, 2 is won by 1 for 2 points to 1, because 2 is fails with the letter 'o' vs. 'a'. In the end 0 has 2 challenges, 1 has 1 challenge and 2 has 0 challenges, so the final ranking will be [0, 1, 2]. If k=50 and the list is [ "A ƐÈÜ", "BEAR" , "c Ʈ ´ ."] Challenge 0, 1 is won by 1 by 4 points to 0. Challenge 0, 2 is won by 2 for 3 points to 1. Challenge 1, 2 is won by 1 by 3 points to 1. In the end 0 has 0 challenges, 1 has 1 challenge and 2 has 2 challenges, so the final ranking will be [1, 2, 0].
0
|
|
| 03.11.2021, 20:37 | |
|
Ответы с готовыми решениями:
14
Для данных значений m, n и известной ставки каждого игрока определить номер игрока, который выиграл и сумму выигрыша Поворот игрока в 3Д игре Получить id игрока во флеш-игре. |
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||
| 06.11.2021, 12:35 | ||
|
генерируют
последовательности значений переменной длины. Каждое значение представлено одним символом. так переменной длины или один символ???
0
|
||
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|
| 06.11.2021, 13:30 [ТС] | |
|
входных данных нет, функция которая будет делать эту задачу будет помещаться в программы тестов, и там уже будет проверять
могу скинуть код программ тестов а вообще входными данными будут массив с результатами игроков по типу matches = ['dfgh', 'gjfk', 'tur f', 'oxv;'] пробелы не должны идти в учет Добавлено через 19 минут Сейчас скину полностью переработанное условие к заданию, извиняюсь что так, просто даже сам в начале не особо понял Задание. Написать функцию которая будет сравнивать строки в массиве с друг другом.(а точнее все первые буквы со всеми первыми) Игра кто кричит громче, есть массив со строками одинаковой длинны, входные данные: результаты игроков в виде массива matches = ['dfgh', 'gjfk', 'tur f', 'oxv;'] пробелы не должны идти в учет Программа должна сравнить результаты всех игроков с друг другом если игроков N число то количество сравнений должно быть N-1, еще входными данными будет коэфицент К, про него опишу далее После окончания всех сравнений, нужно сделать список победителей, первым в списке должен быть индекс игрока набравшего больше всех ПОБЕД(не очков, далее расскажу про очки) ПРИМЕР K=2 и есть лист с результатами игроков ['aac', 'ccc', 'caa'] (номера игроков определены индексом их результатов) аас - результата игрока 0 ссс - результат игрока 1 саа результат игрока 2 Игрок 0 против Игрока 1, выиграет игрок 1 с разницей в 2 очка, потому что с > a, и так 2 раза, то есть игрок 1 выиграл с отрывом в 2 очка(очки не влияют на позицию в рейтинге). Для чего нужен К: разница между цифровым значением, первых букв игроков равна 2-м , abs(ord(a)-ord(c))=2. K=2, то есть разница между значений не превышает коэффициент K. Тогда ПОБЕДА засчитывается игроку под индексом 1. Если бы K = 1, то с разницей в 2 очка выиграл бы игрок 0. К определяет победу между буквами пример ничьи есть 2 игрока 'abc' и 'dba' при сравнении 1-х букв, очко получает игрок под индексом 1, при сравнении 2-х букв ничья, при сравнеии 3-х букв очко получает игрок под индексом 0, по итогу ничья, но победа засчитается игроку под индексом 0. Потому что сумма всех букв его результата меньше суммы всех букв результата противника, если суммы одинаковы, то выигрывает игрок у которого ord значение первой буквы меньше (Количество очков набранных в состязании между игроками, не влияет на их рейтинг, на рейтинг влияет количество ПОБЕД) В случае одинакового количества побед, игроки распределяются основываясь на их изначальной позиции РАСПРЕДЕЛЕНИЕ СПИСКА ПОБЕДИТЕЛЕЙ Первым идет игрок с наибольшим количеством побед и далее по уменьшению, В результатах игроков не должны идти в учет пробелы и (\t). Например, 'a d d' будут взяты лишь символы
0
|
|
|
Status 418
|
||||||
| 06.11.2021, 13:44 | ||||||
|
ты конечно мастер объяснять ))
1
|
||||||
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
||||||
| 06.11.2021, 14:19 [ТС] | ||||||
|
Спасибо, чтоб автоматом удаляло проблемы в начале фукнции прописать это?
Добавлено через 31 минуту
0
|
||||||
|
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
|
||||||
| 06.11.2021, 15:07 | ||||||
|
Cheeky47,
0
|
||||||
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|
| 06.11.2021, 15:35 [ТС] | |
|
выдает ошибку
p1, p2 = matches[x][i], matches[y][i] IndexError: string index out of range
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|
| 06.11.2021, 15:49 [ТС] | |
|
я разобрался с удалением табов и пробелов
но не могу понять почему программа не может проанализировать эмоджи например, если в учет идет ord(символа), то и остальное она должна делать, не так ли?
0
|
|
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
||
| 06.11.2021, 15:59 [ТС] | ||
|
я уже очень благодарен за помощь, но хотел узнать, есть ли у тебя время объяснить его(КОД)?
0
|
||
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|
| 06.11.2021, 16:18 [ТС] | |
|
eaa
А как лучше влиться в питон? просто я хочу научиться кодить, но большинство для меня не понятно, а еще есть идеи как можно исправить? мне кажется сортировка идет не правильно ибо результат списка разнится при равном количестве побед, позиция игроков зависит от их изначального положения
0
|
|
|
Status 418
|
|||
| 06.11.2021, 16:27 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 03.11.2021
Сообщений: 23
|
|||||||
| 06.11.2021, 19:05 [ТС] | |||||||
|
А как отсортировать данные без пробелов?
Добавлено через 2 часа 25 минут
0
|
|||||||
| 06.11.2021, 19:05 | |
|
Помогаю со студенческими работами здесь
15
Даны два слова одинаковой длины. Присвоить переменной k число, равное количеству попарно различных букв
Панель игрока в игре русская рыбалка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|