В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
likarabigba
likarabigba
30.12.2020 02:44 •  Информатика

Имеется прямоугольное изображение, разбитое на единичные квадратики, размер этого изображения n× m. Каждый его квадратик либо чёрный либо белый. Известно, что на этом изображении нарисована черным цветом на белом фоне одна четырёхсвязная фигура. Фигура называется четырёхсвязной, если между любыми двумя её клетками можно построить путь по клеткам этой фигуры, в котором любые две рядом стоящие клетки являются соседними в изображении либо по горизонтали либо по вертикали. Далее изображение разбили на строки и соединили их в одну большую строку без пробелов и разделителей. Длина этой строки n * m. После этого её отправили в направлении шарового звёздного скопления M13, находящегося на расстоянии 25000 световых лет в созвездии Геркулеса. Вы обитатель M13 и перед вами поставили задачу восстановить изображение, исходя из информации о его четырёхсвязности. Гарантируется, что решение единственно.

Sample Input:

###...#..#.#...#..###...#...###..#..#..#.##..##..

Sample Output:

...###...

#..#.#...

#..###...

#...#

#

#

..#..#..#

.##..##..

У меня идея состоит в том, чтобы перебрать по делителям длины входящей строки все возможные комбинации следующим образом: все знаки "#" по очереди проверять на наличие соседнего знака "#" и тем самым найти подходящее решение.

a = list(input())

b = [ ]

c = 2

f = 1

g = [ ]

h = 0

hu = False

while c <= len(a)/2:

if len(a)%c == 0:

b.append(c)

c+=1

# тут в списке b делители - все ок

for e in b:

for d in range(0,len(a)):

if a[d] == "#":

if d != len(a)-2:

if a[d] == a[d+1]:

hu = True

if d != 0:

if a[d] == a[d-1]:

hu = True

if d
if a[d]==a[d+int(e)]:

hu = True

if d != int(e)-1:

if a[d]==a[d-int(e)]:

hu = True

if hu == True:

if d == len(a)-1 and h == 0:

g.append(e)

h = 0

elif d == len(a)-1 and h != 0:

h = 0

hu = False

else:

if d == len(a)-1:

h = 0

h+=1

h = 0

print(g)

Но что-то идет не так и список g пустой. Не подскажете, что делать?

Ответ:
krivovyazenkooooo
krivovyazenkooooo
30.10.2020 18:00

глн глн

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?