Задача "Кегельбан"

Условие

N кеглей выставили в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросили K шаров, при этом i-й шар сбил все кегли с номерами от li до ri включительно. Определите, какие кегли остались стоять на месте.

Программа получает на вход количество кеглей N и количество бросков K. Далее идет K пар чисел li, ri, при этом 1≤ li≤ ri≤ N.

Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита.

Решение

  1. n, k = [int(s) for s in input().split()]
  2. bahn = ['I'] * n
  3. for i in range(k):
  4.     left, right = [int(s) for s in input().split()]
  5.     for j in range(left - 1, right):
  6.         bahn[j] = '.'
  7. print(''.join(bahn))