• Предмет: Информатика
  • Автор: vatorisx
  • Вопрос задан 2 месяца назад

Сонечка — найкраща подруга Міс М. Вона вступила до найкращого університету далекої та прогресивної країни Безчаїндії. Міс М дуже сумує за подружкою, тому вирішила зробити подарунок для Сонечки, поки вона навчається в іншій країні.

Сьогодні в Сонечки день народження, але Міс М ще може встигнути підготувати подарунок, оскільки має час, адже Сонечка повернеться трішки пізніше.

Міс М вирішила, що хоче навчитися вишивати хрестиком і зробити орнаменти на вишиванці, яка буде подарунком для Сонечки, і подарувати, коли та повернеться. Але вона поки взагалі не знає, з чого почати. У неї з'явилася ідея написати програму, що буде робити орнамент потрібної ширини та довжини, який вона може потім використовувати як приклад для вишивки.

Вишиванка — це прямокутник n×m. Орнаменти — це два промені, які виходять з верхніх кутів вишиванки та мають кути 45∘. Промінь відбивається, коли доторкається до вертикального краю. Коли промінь доторкається до нижнього краю — він зникає. Для кращого розуміння можете подивитися приклади.

Допоможіть Міс М навчитися вишивати хрестиком та подарувати красиву вишиванку прекрасній Сонечці на день народження, написавши таку програму, яка відповідно до заданої ширини n та довжини m виведе приклад орнаменту.
Вхідні дані

Перший рядок містить два цілі числа n та m (3≤n,m≤1000) — висота та ширина відповідно.

Приложения:

Ответы

Ответ дал: dmitropustovalov
1

Ответ:

n, m = map(int, input().split())

for i in range(n):

for j in range(m):

if i == 0 or j == 0 or i == n - 1 or j == m - 1 or i == j or i + j == m - 1:

print("X", end="")

else:

print(".", end="")

print()

Объяснение:

Ответ дал: ivan2010kyiv
2

Ответ:

n, m = map(int, input().split())

x1_coords = [1, 1]

x2_coords = [1, m]

result = str()

reflected = False

for i1 in range(n):

   for i2 in range(m):

       if x1_coords == [i1+1, i2+1]:

           result += "x"

           

       elif x2_coords == [i1+1, i2+1]:

           result += "x"

       

       else:

           result += "."

   x1_coords[0] += 1

   x2_coords[0] += 1

   

   if x1_coords[1] in (m, 1) and x2_coords[1] in (m, 1) and i1 != 0:

       reflected = not reflected

   if not reflected:

       x1_coords[1] += 1

   

   else:

       x1_coords[1] -= 1

   

   if not reflected:

       x2_coords[1] -= 1

   

   else:

       x2_coords[1] += 1

   

   result += "\n"

   

print(result)

Примечание:
80% правильно
Python 3 (PyPy 7.3)

Вас заинтересует