|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.04.2013, 10:18 | #1 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Рекурсия: Дается длина полоски из клеточек и 3 длины: полосок красного,синего и желтого цвета.Требуется набрать заданную длину
Дается длина полоски из клеточек и 3 длины: полосок красного,синего и желтого цвета.Требуется заполнить первую полоску другими,но не ставить две одноцветных полоски друг за другом.Если ввод
3 1 1 1 Вывод 6.: К С З К З С С К З С З К З С К З К С |
24.04.2013, 15:28 | #2 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
А вот представьте у Вас сломался компьютер. Деньги платить Вы не хотите.. Поэтому идете в компьютерную мастерскую за "советом". И с порога : "Комп сломался. Платить не буду. Чё делать?". Встречный вопрос : "А с какого перепугу мы должны Вам помогать?". Не.. ну я понимаю если бы было примерно так : "Утро доброе господа программисты. У меня возникла проблема вот какого плана : ... . Думаю решать так : .. . Подскажите в правильную сторону ли я движусь?Заранее спасибо!" Но нет.. ни о каком приветствии и тем более просьбы о помощи разговора нет..
Предлагаю решать так : Читаем N, FrstCnt, ScndCnt, ThrCnt. Генерим массив A. Код:
А далее запускаем рекурсивное получение перестановок массива А Последний раз редактировалось Poma][a; 24.04.2013 в 16:19. |
25.04.2013, 09:27 | #3 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
Вот вроде рабочий вариант, частично переделан из http://programmersforum.ru/showpost....6&postcount=27
отрезки не должны быть нулевой длины(надо править) ну и m(кол-во отрезков)<=3, больше "работать" не должно. (тоже надо править) Написал очень отвратительный код но оно вроде работает и вам же ехать, а не шашечки Код:
Последний раз редактировалось 1mutant1; 25.04.2013 в 10:12. |
25.04.2013, 10:25 | #4 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Спасибо вам огромное!!
Помогите еще одну подзадачу написать, пожалуйста) Я пока пытаюсь разобраться в Вашем коде. Еще одно условие: Цвета могут повторяться сколько угодно,но за полоской одного цвета не может идти такая же полоска. Например: 3 1 1 1 К С К К З К З С З З К З С З С С К С К С З К З С С К З С З К З С К З К С Вывод: 12. Вот чуть чуть облегченная версия Вашего кода Код:
Последний раз редактировалось MagAragorn; 25.04.2013 в 10:31. |
25.04.2013, 10:33 | #5 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Но ни в коем случае нельзя такого типа варианты
К К С С С С и т.д. |
25.04.2013, 15:00 | #6 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
Как вам уже говорили попробуйте "решить" сами, мой кусок кода доработать не проблема(у меня он уже есть доработанный)
Просто зачем ходить тогда на спец курс по программированию? А от себя хочу добавить что нужно правильно формулировать задачу, если не нужен вывод элементов то у Poma][a в прошлой теме было отличное "красивое" решение где считается именно кол-во Подумайте сами, когда что-то делаешь своими руками(головой) - это здорово и приносит удовольствие, если будут проблемы с кодом пишите. |
25.04.2013, 16:33 | #7 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
я разобрался,что в вашем коде за все отвечает вот эта строка:
for j:=1 to 3 do if (b[j]=i) then fl:=1; if fl=1 then continue; Пытаюсь с ней поразбираться) Кстати,у вас работает тест 5 1 1 1, ответ 48.? |
25.04.2013, 19:04 | #8 | ||
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Цитата:
Господин Мутант, а Вам не кажется что goto - ТАБУ. А показывать их школьникам - преступление )) (c) TinMan ? |
||
25.04.2013, 19:12 | #9 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
да, работает
4 ----- 4 1 1 1-- 1 1 2 24----- 10 ------------ 6 ----- 6 1 1 1-- 1 1 2 96----- 28 ------------ 7------- 7 1 1 1 -- 1 1 2 192---- 48 Последний раз редактировалось 1mutant1; 25.04.2013 в 19:28. |
25.04.2013, 19:19 | #10 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставить пробел перед последними 2-мя символами в слова, имеющие минимальную (заданную) длину | mr.Starosta | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 05.05.2013 09:53 |
Дана строка символов - определить количество слов, имеющих заданную длину n. | Неопытный | Общие вопросы Delphi | 5 | 17.05.2012 15:16 |
Задача на паскале (набрать заданную сумму денег) | Старый Gilbert | Помощь студентам | 4 | 21.03.2011 15:12 |
Какой длины пакет, как поменять длину пакета. Ado, MSSQL. | ercartman | БД в Delphi | 0 | 01.09.2010 19:52 |
Выбор строк,длина которых превышает заданную | Dell2dimka | Помощь студентам | 12 | 26.01.2010 13:07 |