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

Жизнь в квадрате

04.04.2020, 15:36. Показов 6914. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В некоторых клетках квадрата N∗N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее:

все микроорганизмы, у которых менее двух соседей, умирают от скуки (соседями называются микроорганизмы, живущие в клетках, имеющих общую сторону или вершину);
все микроорганизмы, у которых более трех соседей, умирают от перенаселенности;
на всех пустых клетках, у которых ровно в трех соседних клетках жили микроорганизмы, появляются новые микроорганизмы.
Все изменения происходят одновременно, то есть для каждой клетки сначала выясняется ее судьба, а затем происходят изменения сразу во всех клетках.

Требуется по данной конфигурации определить, во что она превратится через T секунд.

Входные данные

В первой строке вводятся два натуральных числа — N(1≤N≤10) и T(1≤T≤100). Далее записаны N строчек по N чисел, описывающих начальную конфигурацию (0 — пустая клетка, 1 — микроорганизм). Числа в строках разделены пробелами.

Выходные данные

Требуется вывести N строк по N чисел — описание конфигурации через T секунд (в том же формате, как и во входных данных).

Примеры
Ввод
3 1
1 0 1
1 0 1
1 0 1
Вывод
0 0 0
1 0 1
0 0 0

Есть такой код, но он не работает. Помогите отредачить или сделать с нуля:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
def printf(m):
    for _ in m: print(*_)
def f(m1, m2):
    m1 = []
    for _ in m2: m1.append(_)
    return m1
n, t = map(int, input().split())
m1, m2 = [], []
for _ in range(n):
    _ = list(map(int,input().split()))
    m1.append(_)
    m2.append(_)
for _ in range(t):
    for x in range(n):
        for y in range(n):
            s = m1[x][y]
            summ = 0
            if s == 1:
                try:
                    summ += m1[x-1][y-1]
                except:
                    summ += 0
                try:
                    summ += m1[x-1][y]
                except:
                    summ += 0
                try:
                    summ += m1[x-1][y+1]
                except:
                    summ += 0
                try:
                    summ += m1[x][y-1]
                except:
                    summ += 0
                try:
                    summ += m1[x][y+1]
                except:
                    summ += 0
                try:
                    summ += m1[x+1][y-1]
                except:
                    summ += 0
                try:
                    summ += m1[x+1][y]
                except:
                    summ += 0
                try:
                    summ += m1[x+1][y+1]
                except:
                    summ += 0
                if summ not in [2, 3]:
                    m2[x][y] = 0 
                else:
                    m2[x][y] = 1
    m1 = f(m1, m2)
printf(m1)
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2020, 15:36
Ответы с готовыми решениями:

Жизнь в квадрате
В некоторых клетках квадрата N x N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее: – все...

Жизнь в квадрате
В некоторых клетках квадрата N x N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее: – все...

Жизнь в квадрате
В некоторых клетках квадрата N x N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее: – все...

1
14 / 14 / 0
Регистрация: 03.04.2020
Сообщений: 16
08.04.2020, 19:11
мы для удобства создаём массив с рамкой из нулей и ещё один массив для записи что произойдёт с каждой клеткой

PHP
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
n, t = map(int, input().split())
ewq = []
fut = [[0] * (n + 2) for i in range(n + 2)]
for i in range(n):
    ewq.append(list(map(int, input().split())))
qwe = [[0] * (n + 2) for i in range(n + 2)]
for i in range(n):
    for ui in range(n):
        qwe[i + 1][ui + 1] = ewq[i][ui]
for th in range(t):
    for i in range(n+2):
        for ty in range(n+2):
            fut[i][ty] = 0
    for y in range(1, n+1):
        for x in range(1, n+1):
            tp = qwe[y+1][x+1] + qwe[y][x+1] + qwe[y-1][x+1] + qwe[y+1][x] + qwe[y-1][x] + qwe[y+1][x-1]\
                 + qwe[y][x-1] + qwe[y-1][x-1]
            if qwe[y][x] == 1:
                if tp < 2 or tp > 3:
                    fut[y][x] = 0
                else:
                    fut[y][x] = 1
            else:
                if tp == 3:
                    fut[y][x] = 1
                else:
                    fut[y][x] = 0
    for y in range(1, n+1):
        for x in range(1, n+1):
            qwe[y][x] = fut[y][x]
for i in range(n):
    print(' '.join(list(map(str, qwe[i+1][1:-1]))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.04.2020, 19:11
Помогаю со студенческими работами здесь

Жизнь в квадрате
В некоторых клетках квадрата N∗N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее: все...

Вычислить точное значение суммы 1 в квадрате + 2 в квадрате + 3 в квадрате + ... + n в квадрате
Нужно решить задачу, желательно с объяснением, мучаюсь 2 дня

Задача "Жизнь в квадрате"
В некоторых клетках квадрата N∗N живут микроорганизмы (не более одного в одной клетке). Каждую секунду происходит следующее: все...

Написать программу определяющую сумму ряда /1+1/1 в квадрате+(1+1/2в кварате)+...(1+1/N в квадрате).
Всем привет! Помогите пожалуйста написать программу определяющую сумму ряда /1+1/1 в квадрате+(1+1/2в кварате)+...(1+1/N в квадрате). ...

Написать программу определяющую сумму ряда /1+1/1 в квадрате+(Х+1/2в кварате)+...(1+1/N в квадрате).
Помогите пожалуйста написать программу определяющую сумму ряда /1+1/1 в квадрате+(Х+1/2в кварате)+...(1+1/N в квадрате). Число N ввести...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru