Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/56: Рейтинг темы: голосов - 56, средняя оценка - 4.86
-6 / 2 / 1
Регистрация: 06.10.2021
Сообщений: 24

Задача "ОЧЕРЕДЬ"

06.10.2021, 15:36. Показов 10726. Ответов 13

Студворк — интернет-сервис помощи студентам
Очередь
Студенческая группа сдает зачет преподавателю. Он расположил студентов по некоторому неизвестному порядку и сообщил, кто после кого сдает зачет. Теперь студенты хотят выяснить в каком порядке им приходить, чтобы не стоять всей группой за дверью.

Формат входных данных
На вход программы в первой строке подается одно натуральное число nn — количество студентов в группе. 2\leq n\leq 302≤n≤30. Далее в n-1n−1 строке через пробел подается по два имени: имя студента, сдающего зачет, и имя того студента который будет сдавать перед ним. Имена не содержат пробелов и состоят только из строчных и прописных символов латиницы. Гарантируется, что очередь задана корректно, имена студентов в группе не повторяются.

Формат выходных данных
Требуется вывести имена всех студентов группы в том порядке, в котором они сдают зачет. Каждое имя выводится в отдельной строке.

Методика проверки и пояснение к тесту
В приведенном примере в группе 5 студентов. Первой сдает зачет Лиза, поскольку только для нее не указано, кто приходит раньше. После Лизы приходит Иван, далее Мария, затем Петр и последним сдает Игорь.

Программа проверяется на 20 тестах. Прохождение каждого теста оценивается в 1 балл. Тест из условия задачи при проверке не используется.

Sample Input:
5
Petr Mariya
Ivan Liza
Mariya Ivan
Igor Petr

Sample Output:
Liza
Ivan
Mariya
Petr
Igor
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.10.2021, 15:36
Ответы с готовыми решениями:

Задача про очередь
Добрый вечер! Помогите, пожалуйсьта, решить задачку. Каждый раз, возвращаясь с работы, Василий вынужден отстоять большую очередь,...

Отсортировать произвольную очередь, используя стек и вторую очередь
Добрый день! Необходимо отсортировать произвольную очередь, допустим такую , используя стек(изначально он пустой) и вторую очередь...

Сформировать очередь, содержащую целые числа. Построить новую очередь, состоящую из элементов первоначальной очереди Q,
Сформировать очередь, содержащую целые числа. Построить новую очередь, состоящую из элементов первоначальной очереди Q, кратных числу 3

13
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2021, 16:03
AEHale, и что конкретно не получается?
0
-6 / 2 / 1
Регистрация: 06.10.2021
Сообщений: 24
06.10.2021, 17:09  [ТС]
Всё, xD

Добавлено через 17 минут
ну как я понял тут нужнен массив

Добавлено через 39 минут
помогите овощу, позязя:3
0
0 / 0 / 0
Регистрация: 20.10.2020
Сообщений: 14
06.10.2021, 17:38
нужно создать масив со всеми иминами и опредилить повторя ющиеся те кто не повторяются те 1 и последнии и скиньте пж прогу я в програмирывании не силен. лутше в математики
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
06.10.2021, 17:49
sveta1233, а русский язык силён?
0
-6 / 2 / 1
Регистрация: 06.10.2021
Сообщений: 24
06.10.2021, 17:50  [ТС]
eaa, оочень
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
06.10.2021, 18:10
Цитата Сообщение от sveta1233 Посмотреть сообщение
програмирывании
Цитата Сообщение от sveta1233 Посмотреть сообщение
лутше
0
-6 / 2 / 1
Регистрация: 06.10.2021
Сообщений: 24
06.10.2021, 18:51  [ТС]
Ну помогите пжлст, я это реально не понял
а оценка оочень нужна
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
06.10.2021, 18:55
Как-то так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def traverse(x):
    if x is None:
        return
    yield x
    yield from traverse(graph.get(x))
    
n = int(input())
graph = {}
for _ in range(n - 1):
    to, from_ = input().split()
    graph[from_] = to
    
first = set(graph) - set(graph.values())
result = traverse(*first)
print(*result, sep="\n")
1
-6 / 2 / 1
Регистрация: 06.10.2021
Сообщений: 24
06.10.2021, 18:58  [ТС]
Спасииибо
0
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 4
07.10.2021, 12:25
Это олимпиадная задача.
Я написал такой код, на моих тестах проходит, но на тестах платформы проваливается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
int main(int argc, char *argv[])
{
    string X[30][2];
    int N;
    cin>>N;
    if(N < 1 || N > 30) return 0;
    for(int i = 0; i < N-1; i++)
    {
        cin>>X[i][0]>>X[i][1];
    }
    int FirstName = -1;
    for(int i = 0; i< N-1; i++)
    {
        FirstName = i;
        for(int j = 0;j < N-1; j++)
        {
            if(X[i][1] == X[j][0]) FirstName = -1;
        }
        if (FirstName != -1) break;
    }
    cout<<X[FirstName][1]<<endl;
    for(int i = 0; i< N-1; i++)
    {
        cout<<X[FirstName][0]<<endl;
        for(int j = 0;j < N-1; j++)
        {
            if(X[FirstName][0] == X[j][1]) 
            {
                FirstName = j;
                break;
            }
        }
    }
    return 0;   
}
Я бы списал, отсюда, но хочу разобраться, в чем проблема?

Добавлено через 1 минуту
Мне нужен тест, который провалит мое решение
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
07.10.2021, 12:27
Цитата Сообщение от RepinAndrey Посмотреть сообщение
но на тестах платформы проваливается
WA/Timelimit?
0
0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 4
07.10.2021, 12:30
Закрываю тему, тесты прошли
0
0 / 0 / 0
Регистрация: 07.10.2021
Сообщений: 2
07.10.2021, 12:50
Как у тебя вышло избежать ограничения по времени?

Добавлено через 2 минуты
RepinAndrey, как у тебя все вышло?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.10.2021, 12:50
Помогаю со студенческими работами здесь

Сформировать очередь, содержащую целые числа. Построить новую очередь, состоящую из элементов первоначальной очереди Q,
Сформировать очередь, содержащую целые числа. Построить новую очередь, состоящую из элементов первоначальной очереди Q, кратных числу 3.

Создать очередь целых случайных чисел и создать другую очередь, в которую будут входить только парные числа из первой
Нужно создать очередь целых случайных чисел и создать другую очередь, в которую будут входить только парные числа из первой

Задача на очередь (вывод сообщения, что очередь пуста)
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо добавить код, чтобы выводил сообщение, что очередь пуста.....

Задача на очередь
Задача звучит так: В больницу приходят определенное кол-во больных, тяжело больные обслуживаются в первую очередь, затем - легко. Тяжело...

Задача на очередь
Даны две очереди; адреса начала и конца первой равны P1 и P2, а второй — P3 и P4 (если очередь является пустой, то соответствующие адреса...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru