Разбор задачи 'Тортминатор'

preview_player
Показать описание
Условие задачи

Тема "Вложенные списки"
Рекомендации по теме
Комментарии
Автор

Придумал более интересную реализацию и эффективную по времени и памяти. Можете глянуть, если кому интересно
n, m=map(int, (input().split()))
a=[]
rows=[]
columns=[]
for i in range (n):
a.append(input())
for j in range(len(a[i])):
if a[i][j]=='S':
rows.append(i)
columns.append(j)
rows=set(rows)
columns=set(columns)
print (n*m-len(rows)*len(columns))

borist
Автор

Спасибо за интересный курс. Не могу найти, где ошибка. Вроде все работает, но на степике не принимает - Failed test #2 of 5. Wrong answer. Какие там вводные данные?

r, c = [int(n) for n in (input()).split()]
matrix = [(input()) for _ in range(r)]
zero_r = 0
zero_c = 0

if c < r:
matrix = list(zip(*matrix))

for row in matrix:
if 'S' not in row:
zero_r += 1

matrix = list(zip(*matrix))

for row in matrix:
if 'S' not in row:
zero_c += 1

res = zero_r * c + zero_c * (r - zero_r)
print(res)

MrEmik
Автор

на степике ошибка - принимает просто print(8)

darkelectro
Автор

Программа работает но почему то в степике не принимает решение((

n, m = map(int, input().split())
s = [(list(input().split())) for i in range(n)]
s1 = []
counts = 0
for i in range(n):
if 'S' not in s[i]:
for j in range(m):
if s[i][j] == '.':
counts += 1
s[i][j] = '!'
for j in range(m):
s1 = []
for i in range(n):
s1.append(s[i][j])
if 'S' not in s1:
counts += s1.count('.')
print(counts)

hrogzib
Автор

На степике мое решение не принимает, очень горю, потому что все ручные тесты проходит. Очень надеюсь, что Вы прочтете этот пост.

vlfqqwj