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

Задача с codeforces "Подарки"

01.03.2023, 19:27. Показов 5225. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите решить задачу с кодфорса

Маленький Петя очень любит подарки. Недавно мама подарила ему новый ноутбук на Новый Год. Он тут же решил передарить его кому-то еще, ведь что может быть приятнее, чем дарить кому-то подарок. По этому случаю он организовал новогоднюю вечеринку у себя дома и пригласил туда n своих друзей.

Больше чем самому дарить подарки Петя любит только смотреть, как другие дарят подарки кому-либо. Так что ноутбук он припрятал до следующего Нового Года, а сам решил понаблюдать за процессом обмена подарками между своими друзьями, оставаясь в стороне. Он пронумеровал всех своих друзей целыми числами от 1 до n. Петя запомнил, что друг с номером i подарил подарок другу с номером pi. Он также запомнил, что каждому из его друзей достался ровно один подарок.

Теперь для каждого друга i Петя хочет узнать номер друга, который подарил ему подарок.

Входные данные
В первой строке записано одно целое число n (1 ≤ n ≤ 100) — количество приглашенных на вечеринку друзей Пети. Во второй строке записаны n целых чисел через пробел: i-ое число задает pi — номер друга, которому подарил подарок друг с номером i. Гарантируется, что каждый друг получил ровно один подарок. Возможно, что некоторые друзья не разделяют мнения Пети о приятности дарения подарков другим, а поэтому подарили подарок сами себе.

Выходные данные
Выведите n целых чисел, разделенных пробелом: i-ое число должно быть равно номеру друга, от которого получил подарок друг с номером i.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.03.2023, 19:27
Ответы с готовыми решениями:

Задача: Подарки
В новогодний сладкий подарок нужно положить ровно N конфет. На складе хранятся конфеты, собранные по одной штуке и по три штуки в одной...

Задача с codeforces "Театральная площадь"
Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров. По случаю очередного юбилея города, было принято...

Задача со словарем: Подарки Иа
Добрый день. Есть задача (да, Яндекс Лицей =). Проходит часть тестов, но на части тестов валится. Не понимаю, почему. "Напишите...

22
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
09.08.2023, 21:42
Студворк — интернет-сервис помощи студентам
idealist, да это не важно, все у вас верно в коде, всем же понятно. а у меня код совершенно не к этой задаче, просто рандомное распределение подарков, ну ничего, под Новый год зайдет я думаю
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
16.08.2023, 21:14
Цитата Сообщение от s_t_r_a_j Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
from random import randint
a1 = [int(x) for x in input()]
d = {}
i = 1
while i <= len(a1):
    ran = randint(1, len(a1))
    if ran not in d.values():
        d[a1.index(i) + 1] = ran
        i += 1
print(' '.join(map(str,d.values())))
Программа не работает, ошибку выдает:
Traceback (most recent call last):
File "Z:\Python\p1918\venv\Presents.py", line 49, in <module>
d[a1.index(i) + 1] = ran
^^^^^^^^^^^
ValueError: 1 is not in list

Добавлено через 1 минуту
Цитата Сообщение от s_t_r_a_j Посмотреть сообщение
Python
1
2
3
4
5
6
7
8
9
10
11
12
from random import randint
a1 = list(map(int, [x for x in input().split()]))
d = {}
i = 1
while i <= len(a1):
    ran = randint(1, len(a1))
    if ran not in d.values():
        d[a1.index(i) + 1] = ran
        i += 1
for key in d:
    # кто кому дарит
    print(f'{d[key]} => {key}')
тоже самое:
Traceback (most recent call last):
File "Z:\Python\p1918\venv\Presents.py", line 49, in <module>
d[a1.index(i) + 1] = ran
^^^^^^^^^^^
ValueError: 1 is not in list
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
17.08.2023, 05:46
isaak, что у вас на входе покажите, уверен вы вводите разорванный список, поэтому и ошибка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2023, 05:46
Помогаю со студенческими работами здесь

Похожие подарки Олимпиадная задача
Поликарпу уже надоело получать массивы натуральных чисел на день рождения и другие праздники. Поэтому его друзья Монокарп и Бикарп решили...

Задача с codeforces "Беру-такси"
Рабочий Василий живёт в точке (a, b) координатной плоскости. Он очень торопится на работу, поэтому ему нужно как можно быстрее уехать из...

Задача "Система регистрации" из codeforces
При отправки задачи моё решение проваливается на седьмом проходе и жалуется, что превышено ограничение времени. Помогите пожалуйста...

Задача с codeforces "Подарки"
Здравствуйте, помогите решить задачу с кодфорса Маленький Петя очень любит подарки. Недавно мама подарила ему новый ноутбук на Новый...

Задача с Codeforces
Разбирал самый первый контест вот и столкнулся с такой проблемой не понимаю на чем основывается вывод получения сторон. Вот собственно...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru