N палочек выставили в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросили K камней, при этом i-й камень сбил все палки с номерами от L_i до R_i включительно. Определите, какие палки остались стоять на месте.
Напишите программу, которая получает на вход количество палок N и количество бросков K. Далее идет K пар чисел L_i, R_i, при этом 1≤ L_i≤ R_i≤ N.
Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я палка осталась стоять, или “.”, если j-я палка была сбита.
Пример:
Кол-во палок: 10
Кол-во бросков: 3
Бросок 1. Сбиты палки с номера 8
по номер 10
Бросок 2. Сбиты палки с номера 2
по номер 5
Бросок 3. Сбиты палки с номера 3
по номер 6
Результат: I.....I...
Решение:
sticks = int(input('Кол-во палок: '))
throws = int(input('Кол-во бросков: '))
row = ['I'] * sticks
for i in range(throws):
query = 'Бросок ' + str(i + 1) + '. Сбиты палки с номера '
while True:
start = int(input(query)) - 1
if (start >= 0) and (start <= sticks):
break
while True:
end = int(input('по номер ')) - 1
if (end >= start) and (end <= sticks):
break
for j in range(start, end + 1):
row[j] = '.'
print('Результат: ', *row, sep='')
41400login-checkЗадача 8. Развлечение
