Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Олив
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 20
1

Задача 5: свитер для Бориса

22.10.2015, 11:48. Просмотров 863. Ответов 2
Метки нет (Все метки)

Всего в серии постов 5 задач, буду благодарна если мне напишут хотя бы одну (нужны все 5) - 11 класс, нужно сдать завтра

5) Программист Борис хочет купить себе свитер. Разумеется, с оленями. После долгого изучения различный вариантов, он понял, что идеальный свитер должен содержать n рядов оленей, где ряды раскрашены в белый, серый или голубой цвет. Причём, ряды, находящиеся по соседству, должный быть разных цветов, а ряд серого цвета должен находиться между белым и голубым (то есть либо ряд выше должен быть белым, а ряд ниже — голубым, либо наоборот). В какой-то момент Борису стало интересно, сколько различных идеальных свитеров существует. Поскольку скоро дедлайн по одному из его проектов, у него нет времени, чтобы посчитать самому. Поэтому он просит вас написать программу, которая посчитает это количество за него.

Формат входных данных
В единственной строке расположено одно число n — количество рядов оленей на идеальном свитере (1 <= n <= 60).

Формат выходных данных
Выведите количество идеальных свитеров.

Буду очееень благодарна решившему)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 11:48
Ответы с готовыми решениями:

По скольким номерами (максимально) придется Андрею позвонить, разыскивая Бориса
Андрей хочет позвонить Борису. Он помнит, что номер телефона - цифровыми число,...

По скольким номерами (максимально) придется Андрею позвонить, разыскивая Бориса?
Андрей хочет позвонить Борису. Он помнит, что номер телефона - цифровыми число,...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о...

Реальная задача для реального проекта для желающих покодить
Привет:) Попросили сделать парсер сайта по-дружески, но у меня реально...

Кто понимает теорию графов? Для вас может эта задача разминка для мозга
Не понимаю как понять это.. Удалил вложение

2
Marinero
Модератор
Эксперт NIX
2060 / 1670 / 570
Регистрация: 02.03.2015
Сообщений: 5,495
22.10.2015, 14:16 2
Лучший ответ Сообщение было отмечено Олив как решение

Решение

Как можно упустить задачу про свитер с оленями? Если принять что свитер без серого ряда тоже идеальный, то
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from itertools import permutations as prmt
 
lines = int(input())
ideal = 0
 
for variant in set(prmt('WGB' * (lines // 3 + 1), lines)):
    lines_set = ''.join(variant)
    if not ('WW'  in lines_set or 
            'BB'  in lines_set or
            'GG'  in lines_set or
            'WGW' in lines_set or
            'BGB' in lines_set or
            variant[0]  == 'G' or
            variant[-1] == 'G' ):
        ideal += 1
print(ideal)
Или чуть красивее:
Python
1
2
3
4
5
6
7
8
import itertools
import re
 
lines = int(input())
ideal = 0
 
check = re.template('WGW|BGB|BB|WW|GG|^G|G$')
print(sum(1 for i in set(itertools.permutations('WGB' * (lines // 3 + 1), lines)) if not re.search(check, ''.join(i))))
0
Олив
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 20
22.10.2015, 15:16  [ТС] 3
Sergey_B, 5 по времени занимает больше 1 секунды)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2015, 15:16

задача "Построить систему классов для описания Прямоугольника" для курсовой
Нужно решить задачу для курсовой в С++ через неделю мне её сдавать надо а я в...

Задача для новичков
Выдайте номера поставщиков, которые поставляют, по крайней мере, одну деталь,...

Задача Коши для ДУ
Ребзя, прошу помочь. Будьте добры и поймите студента, с MathCad'ом вообще не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru