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

> надо написать Идея описания решение, и я не очень понял саму задачку
сообщение
Сообщение #1


Знаток
****

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

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


Задачка
Дано 100 карточек выложенные в строку. На каждой карточке написано по одной цифре. Можно или нельзя выложить так карточки чтобы не одно число не было на том же самом месте? Надо найдите хотя бы один вариант расположения карточек.
Напишите решения идеи описание.
Объясните задачку и как пишется эта идея. Или тут надо алгоритм написать? И еще будит ли перестановка засчитана если поменяем два одинаковых числа местами?

Моя идея
Проверить на одинаковые цифры рядом и их переместить одну на -1 позицию и потом заного проверить если есть еще такие числа и потом все числа сдвинуть влево на одну позицию.


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Знаток
****

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

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


Цитата(Lapp @ 10.10.2009 10:28) *

Например, если данная строка карточек выглядит так (используем цифры от 0 до 5):

2 4 3 3 2 0 2 5 0

- то массив Cards получится (после работы этой строки) таким:

2 0 3 2 1 1

Это значит, что у нас есть 2 нуля, ноль единиц, 3 двойки, 2 тройки, 1 четверка и 1 пятерка. Этот массив мы будем использовать при переборе различных комбинаций.



мне всё ровно не доходит как так получилось из этого Inc(Cards[Ini[i]]); все числа 2 0 3 2 1 1 можете объяснить ?
а так если смотреть то дальше идет так
Arrange(1) обращаемся к функции
Код

k:=1
i:=0
if (0<>2)and(2>0) then begin
      Res[k]:=0;
      Dec(Cards[i]); 1 0 3 2 11
      f:=(k=n)or Arrange(k+1); k:=2

  if (0<>4)and(1>0) then begin
      Res[k]:=0;
      Dec(Cards[i]); 0 0 3 2 11
      f:=(k=n)or Arrange(k+1); k:=3

if (0<>3)and(0>0) then begin
inc(i) i=1

if (1<>3)and(0>0) then begin
     inc(i) i=2

if (2<>3)and(3>0) then begin
      Res[k]:=2;
      Dec(Cards[i]); 0 0 2 2 11
      f:=(k=n)or Arrange(k+1); k:=4

if (0<>3)and(0>0) then begin
     inc(i) i=1

if (1<>3)and(0>0) then begin
     inc(i) i=2

if (2<>3)and(2>0) then begin
     Res[k]:=2;
      Dec(Cards[i]); 0 0 1 2 1 1
      f:=(k=n)or Arrange(k+1); k:=5
  
if (0<>2)and(0>0) then begin
     inc(i) i=1

if (1<>2)and(0>0) then begin
     inc(i) i=2

if (2<>2)and(1>0) then begin
      inc(i) i=3

if (3<>2)and(2>0) then begin
     Res[k]:=3;
      Dec(Cards[i]); 0 0 1 1 1 1
      f:=(k=n)or Arrange(k+1); k:=6
    
  if (0<>0)and(0>0) then begin
     inc(i) i=1

if (1<>0)and(0>0) then begin
     inc(i) i=2

if (2<>0)and(1>0) then begin
         Res[k]:=2;
      Dec(Cards[i]); 0 0 0 1 1 1
      f:=(k=n)or Arrange(k+1); k:=7

if (0<>2)and(0>0) then begin
      inc(i) i=1

if (1<>2)and(0>0) then begin
      inc(i) i=2

if (2<>2)and(0>0) then begin
      inc(i) i=3

if (3<>2)and(1>0) then begin
       Res[k]:=3;
      Dec(Cards[i]); 0 0 0 0 1 1
      f:=(k=n)or Arrange(k+1); k:=8

if (0<>5)and(0>0) then begin
      inc(i) i=1

if (1<>5)and(0>0) then begin
      inc(i) i=2

if (2<>5)and(0>0) then begin
      inc(i) i=3

if (3<>5)and(0>0) then begin
      inc(i) i=4
if (4<>5)and(1>0) then begin
        Res[k]:=4;
      Dec(Cards[i]); 0 0 0 0 0 1
      f:=(k=n)or Arrange(k+1); k:=9;
сейчас все будут гнать к i:=5 и тогда

if (5<>0)and(1>0) then begin
        Res[k]:=5;
      Dec(Cards[i]); 0 0 0 0 0 0
      f:=(9=9);

       Inc(Cards[i]) 0 0 0 0 0 1 вот это не очень понел я

until f or(i>m);
  Arrange:= f

и все конец
запишут наверное так
0 0 2 2 3 2 3 4 5
Inc(Cards[i]) я вот этого не понял

и как еще этот текст скрыть

Сообщение отредактировано: maksimla -


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 12.05.2024 16:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name