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

Заразный хоровод

23.02.2023, 15:28. Показов 1374. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В детском саду на утреннике дети водят хоровод. Однако воспитатели не заметили, что некоторые дети в хороводе болеют очень заразной икотой. Каждую минуту каждый заразный ребенок заражает двух соседних с ним детей. Помогите воспитателям узнать, кто из детей будет икать, если хоровод продлится t
минут.
=============
Входные данные:
Первая строка содержит числа n
и t
— число детей в хороводе и число минут (3≤n≤100
, 1≤t≤100
). Вторая строка содержит описание детей в том порядке, в котором они стоят в хороводе. Символ «-» означает, что ребенок здоров, а символ «+» — что болен.
=============
Выходные данные:
Выведите строку из n
символов — описание детей через t
минут, в том же формате, что и во вводе.
=============
Примеры:
1) Входные данные:
10 1
+---+-----
выходные данные:
++-+++---+
--------------------------------
2) Входные данные:
5 3
--+--
выходные данные:
+++++
--------------------------------
3) Входные данные:
3 1
---
выходные данные:
---

Добавлено через 3 часа 31 минуту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n, t = input().split()
n = int(n)
t = int(t)
a = input()
b = list(a)
c = list(b)
for i in range(len(b)):
    if b[0] == "+":
        pass
    if b[i] == "+":
        c[i-1] = "+"
        c[i+1] = "+"
print(*c)
У меня так получилось, 1 и 3 пример подходит, а как реализовать чтобы за несколько минут они заражаются, а не за одну, незнаю. (знаю что for i in range надо, но дальше там как-то непонятно)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2023, 15:28
Ответы с готовыми решениями:

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

Мега заразный тестик на реакцию =)
Третий день на работе рубимсо ))) - netinwork.ru , наш рекорд - 10,32 с. Отписываемся) тест

Хоровод
В хороводе обычно участвует 2N человек, которые равномерно распределяются по окружности радиуса N/π. Среди участников хоровода есть К...

2
2 / 1 / 1
Регистрация: 23.02.2023
Сообщений: 1
23.02.2023, 17:10
Лучший ответ Сообщение было отмечено Pythonistj как решение

Решение

у МЕНЯ СЛЕТАЕТ НА 5 ТЕСТЕ

вОТ КОД:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
n, t = input().split()
n = int(n)
t = int(t)
a = input()
b = list(a)
c = list(b)
for i in range(t):
    b=list(c)
    for i in range(n-1):
        if b[0] == "+":
            pass
        if b[i] == "+":
            c[i-1] = "+"
            c[i+1] = "+"
c= "".join(c)
print(c)
1
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
23.02.2023, 17:22
Лучший ответ Сообщение было отмечено Pythonistj как решение

Решение

Mr_Pechenka,
Python
1
2
3
4
5
6
7
8
9
10
11
12
n, t = 10, 0
a = '+---+-----'
b = list(a)
for _ in range(t):
    c = list(b)
    for i in range(n):
        if b[i] == "+":
            c[i-1] = "+"
            c[(i+1)%n] = "+"
    b = c
print(a)
print(*b, sep='')
Pythonistj, решение за O(n):
Python
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
text = '----+---+--'; 
n, t = len(text), 1
print(text)
 
# индекс первого зараженного
f = text.find('+')
 
if f >= 0:
    a, b = [0] * n, [0] * n
    sa, sb = 0, 0
    for k in range(n):
        ai, bi = (f + k) % n, (f - k) % n
        sa = 0 if text[ai] == '+' else sa + 1
        sb = 0 if text[bi] == '+' else sb + 1
        a[ai], b[bi] = sa, sb
 
    c = list(map(min, zip(a,b)))
    print('время до заражения от соседа слева: ', a)
    print('время до заражения от соседа справа:', b)
    print('время до заражения от любого соседа:', c)
    
    # выводим тех которые успеют заразиться за время t
    text = ''.join('+-'[x>t] for x in c)
 
print(text)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2023, 17:22
Помогаю со студенческими работами здесь

Семь девушек водят хоровод
3. Семь девушек водят хоровод. Сколькими различными способами все они. могут образовать круг? 3. Способов водить хоровод =...

Сколькими способами можно составить хоровод?
Доброго времени суток! Не могу решить вот такую задачку, помогите, пожалуйста. На школьный вечер танцев собрались ребята 9,10,11...

Украшение курсора Windows - крутящийся вокруг "хоровод" из точек
Написать программу, которая делает вокруг курсора круг из точек. var cur : TPoint; r1 : integer; //можно и дробным сделать ...

Как нарисовать фрактал? Хоровод, почти как у меня ...у меня только 12 кружочков, формирующий другой круг))
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
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. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru