Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. конечно, некоторое время такую клавиатуру еще можно использовать, но для нажатий клавиш приходиться использовать большую силу.
при изготовлении клавиатуры изначально для каждой клавиши задается количество нажатий, которое она должна выдерживать. если знать эти величины для используемой клавиатуры, то для определенной последовательности нажатых клавиш можно определить, какие клавиши в процессе их использования сломаются, а какие – нет.
требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта эксплуатации клавиатуры.
входные данные
первая строка входного файла содержит целое число n (1 ≤ n ≤ 100) – количество клавиш на клавиатуре. вторая строка содержит n целых чисел – с1, с2, … , сn, где сi (1 ≤ сi ≤ 1) – количество нажатий, выдерживаемых i-ой клавишей. третья строка содержит целое число k (1 ≤ k ≤ 1) – общее количество нажатий клавиш, и последняя строка содержит k целых чисел pj (1 ≤ pj ≤ n) – последовательность нажатых клавиш.
выходные данные
в выходной файл необходимо вывести n строк, содержащих информацию об исправности клавиш. если i-ая клавиша сломалась, то i-ая строка должна содержать слово “yes” (без кавычек), если же клавиша работо слово “no”.
питон
У нас всего 6 кочек, 6 - конечная.
Мы перемещаемся либо на последующую (+1), либо через одну (+2), либо через две (+3). То есть если мы были на кочке один и прыгнули через две кочки, то попадем в кочку 4 (1 + 3).
Начнём считать.
0 - мы на первом берегу. Наши кочки: 1, 2, 3, 4, 5 и 6 обозначены СЛЕВА. 7 этапом мы прыгнем на другой берег.
1: [0] = 1 сп.
2: [0,1] = 1 + 1 = 2 сп.
3: [0,1, 2] = 1 + 1 + 2 = 4 сп.
4: [1, 2, 3] = 1 + 2 + 4 = 7 сп.
5: [2, 3, 4] = 2 + 4 + 7 = 13 сп.
6: [3, 4, 5] = 4 + 7 + 13 = 24 сп.
7: [4, 5, 6] = 7 + 13 + 24 = 44 сп.
Всего существует как перебрать на другой берег болота.
P.S. В квадратных скобка [] обозначены индексы из каких точек мы можем попасть в эту точку. Достаточно сложить количество путей тех точек и мы получим количество путей для данной точки.
следующий дом после кинотеатра- это универсам
второй дом после универсама- это аптека
второй дом после кинотеатра- это аптека
кинотеатр называется "Сказка"
следующий дом после универсама- это аптека.
предыдущий дом перед аптекой - это универсам
предыдущий дом перед аптекой- это универсам.