Member 14902959 Ответов: 2

Нужна помощь с тестовой проблемой Python


For example, you get a 8x8 picture:
000##000
0##0#000
###0####
0#0#####
#0#0#000
#0##0000
0###0000
00#00000


Now you gotta find the "target" which is a 3x3:

0#0
###
0#0


Every-time the target appears you add one to count, in this case count would be 3


Sample input:
000##000
0##0#000
###0####
0#0#####
#0#0#000
#0##0000
0###0000
00#00000
0#0
###
0#0


Sample Output:
3


Что я уже пробовал:

Я сделал входную часть, так что добавьте к ней или измените ее, если хотите:

import sys
import math


m=[]
a=[]

for i in range(8):
    l=sys.stdin.readline()
    m.append(l[:-1])


for i in range(3):
    c=sys.stdin.readline()
    a.append(c[:-1])

2 Ответов

Рейтинг:
1

Patrice T

Цитата:
Я сделал входную часть, так что добавьте к ней или измените ее, если хотите:

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

Шаги к решению проблемы:
- Попробуйте решить проблему вручную.
- Подумайте о своем методе решения механическим способом.
- Это в основном ваш алгоритм.
- Теперь нужно перевести в код и проверить, работает ли программа.


Рейтинг:
0

CPallini

Вы находите цель на картинке, в {i,j}i и j в [0..5] диапазон) если (и только если)
target[k][l] == picture[i+k][j+l] является True для каждого k=0,..,2 и l=0,..,2
Это не сложный алгоритм для реализации.