IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Перестановки, Олимпиадная задача
roma
сообщение 3.12.2005 19:47
Сообщение #1


Гость






Расмотрим строфу стихотоворного текста, состоящую из N строчек.
Любая строка рифмуется хотя бы с одной другой.
Нужна зная число n вывести все возможные схемы рифмовки.

Пример: n=4 - 4 схемы. Это схемы AABB, ABAB, ABBA и AAAA.

Может кто-нибудь подкинет идею.

P. S. ДОЖ и Altair , К своему стыду не могу сформулировать кратко идею данной задачи
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
volvo
сообщение 3.12.2005 19:54
Сообщение #2


Гость






roma,
объясни мне, почему у тебя в вариантах есть AAAA, но нет BBBB?
 К началу страницы 
+ Ответить 
Дож
сообщение 3.12.2005 19:56
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Цитата
объясни мне, почему у тебя в вариантах есть AAAA, но нет BBBB?

Это схемы. Одинаковые буквы- рифмующиеся строки. Неодинаковые- нерифмующиеся. Поэтому AAAA и BBBB одно и тоже.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.12.2005 19:59
Сообщение #4


Гость






Дож,
тебя зовут roma ? mad.gif
 К началу страницы 
+ Ответить 
Дож
сообщение 3.12.2005 20:00
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Цитата
тебя зовут roma ?

Нет, но я уже видел подобную задачу.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
roma
сообщение 3.12.2005 20:29
Сообщение #6


Гость






Цитата
roma,
объясни мне, почему у тебя в вариантах есть AAAA, но нет BBBB?


Дож правильно ответил на данный вопрос.
Аналогично одинаковы AAABB и BBBAA...
 К началу страницы 
+ Ответить 
Дож
сообщение 4.12.2005 14:04
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


  • Пусть первая строка рифмуется с n-1 другой. Тогда кол-во схем=1
  • Пусть первая строка рифмуется с n-3 другой. Тогда перебираем все варианты.
  • Аналогично для n-4, n-5 и т.д...


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Дож
сообщение 4.12.2005 19:35
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +



Function stih(n:integer):integer;
Var i,r:integer;
i:=n; r:=0;
While i>2 do begin
r:=r+Choose(n-1,i-1)*stih(n-i);
end;
stih:=r
end;


(Где Choose(n,k)- кол-во способов выбрать k из n, как такую функцию написать см. FAQ)
_____________________________________________________________________
Ой, в проге ошибка!

После строки r:=r+Choose(n-1,i-1)*stih(n-i); нужно поставить dec(i);

Сообщение отредактировано: Дож - 5.12.2005 16:16


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 5.12.2005 19:43
Сообщение #9


Гость






Цитата
Function stih(n:integer):integer;
...


Что-то здесь не так, в данном виде функция всегда выдает ноль (r=0);
Я предположил что перед stih:=r должно стоять if r=0 then r:=1; но все равно не получается: для n=6 ответ 41, а у меня выдает 37
 К началу страницы 
+ Ответить 
Дож
сообщение 6.12.2005 20:55
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Цитата
Я предположил что перед stih:=r должно стоять if r=0 then r:=1;

Самый простой пример: n=1, следовательно
Кол-во схем=0.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 16:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"