Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 4

В древнем кладе было найдено nn монет различного веса. Каждая из монет была обозначена строчной буквой латиницы

30.09.2022, 17:39. Показов 2713. Ответов 4

Студворк — интернет-сервис помощи студентам
В древнем кладе было найдено nn монет различного веса. Каждая из монет была обозначена строчной буквой латиницы. Все обозначения были различными. Монеты были попарно взвешены на чашечных весах. Протокол взвешиваний состоял из n(n-1)/2n(n−1)/2 строк, каждая строка содержала ровно три символа. Первый и третий символ содержали обозначения монет, а во втором был записан результат сравнения: знак << или знак >>. Например, запись d>bd>b означает, что монета dd тяжелее монеты bb.

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

Формат входных данных
На вход в первой строке подается одно натуральное число nn — количество монет, 4\le n\le 264≤n≤26. Далее в n(n-1)/2n(n−1)/2 строках записан протокол взвешиваний. Гарантируется, что протокол является корректным.

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

Sample Input 1:
4
b<x
k>b
x<k
b<d
x>d
d<k
Sample Output 1:
bdxk
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2022, 17:39
Ответы с готовыми решениями:

Можно ли положить несколько монет так, чтобы центры каких-то трёх монет оказались на одной прямой
Есть набор монет радиусами 1,2,3,…,10 см. Можно положить две из них на стол так, чтобы они касались друг друга, и добавлять монеты по одной...

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

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

4
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
30.09.2022, 19:24
и в чем сложности?
0
5517 / 2870 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
30.09.2022, 20:47
Лучший ответ Сообщение было отмечено Liiah как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
n=int(input())
dct={}
for i in range(n*(n-1)//2):
    ineq=input()
    arg1=ineq[0]
    arg2=ineq[-1]
    sign=ineq[1]
    if arg1 not in dct.keys():
        dct[arg1]=0
    if arg2 not in dct.keys():
        dct[arg2]=0
    if sign=='<':
        dct[arg2]+=1
    else:
        dct[arg1]+=1
hist=sorted([(i, dct[i]) for i in dct.keys()], key=lambda x: x[1])
ans=''.join([i[0] for i in hist])   
print(ans)
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
30.09.2022, 20:59
Лучший ответ Сообщение было отмечено u235 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input())
d = {}
for _ in range(n * (n - 1) // 2):
    a, eq, b = input()
    if eq == '<':
        a, b = b, a
    if b not in d:
        d[b] = 0
    d[a] = d.get(a, 0) + 1
 
print(*(k for k, v in sorted(d.items(), key=lambda x: x[1])), sep='')
Добавлено через 5 минут

Не по теме:

u235, я не хотел скидывать решение, но Вы меня вынудили)))

3
5517 / 2870 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
30.09.2022, 21:33

Не по теме:

eaa, красивое решение, лаконичное, все по делу. Есть чему поучиться.


0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2022, 21:33
Помогаю со студенческими работами здесь

Случайная велечина Х - разность сумм выпавших на решках десятикопеечных монет и на решках пятикопеечных монет.
1 Бросают 5 монет по 10 копеек и 6 монет по 5 копеек.Случайная велечина Х - разность сумм выпавших на решках десятикопеечных монет и на...

У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(m)
У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(m). Может ли купить покупатель вещь...

У покупателя есть n монет достоинством H(1),., H(n). У продавца есть m монет достоинством B(1),.,B(l)
У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(l). Может ли ...

У Вас А монет по Х рублей и В монет по Y рублей
У Вас А монет по Х рублей и В монет по Y рублей. Можно ли с их помощью заплатить Z рублей, если да - то как? Пользоваться можно циклами и...

Какая трансформация истории была бы, если бы микроскоп и телескоп были изобретены в Древнем Риме?
Все мы понимаем, что история не имеет сослагательного наклонения, но всё же, какая трансформация истории была бы, если бы микроскоп и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru