Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Теория программирования > Игры разума
Перезагрузить страницу Логическая головоломка Небоскребы с суммами
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
Unhappy Логическая головоломка Небоскребы с суммами - 15.11.2010, 02:40

Помогите написать решение логической головоломки небоскребы с суммами,а то я уже неделю мучаюсь и все никак
Ответить с цитированием
  (#2 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 15.11.2010, 12:31

Цитата:
Сообщение от wannet Посмотреть сообщение
Помогите написать решение логической головоломки небоскребы с суммами,а то я уже неделю мучаюсь и все никак
А что за небоскрёбы-то? В смысле формулировочку бы...
Ответить с цитированием
  (#3 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 15.11.2010, 12:47

Логическая головоломка онлайн "Небоскрёбы", которая иногда называется "Кварталы" - это интересная логическая задача, которая относится к играм на бумаге типа судоку.
По условию головоломки, имеется квадрат, в каждой клетке кторого расположен дом высотой от 1 до N этажей, где N - длина стороны квадрата. По сторонам квадрата напротив некоторых его рядов стоят цифры, которые обозначают сумму чисел этажей видимых зданий в данном ряду, если посмотреть, стоя на месте этой цифры. Ваша задача - рассуждая логически, восстановить высоты всех домов в квадрате. В результате должен получиться заполненный домами квадрат, в каждом ряду которого имеются дома с полным набором этажей от 1 до N. Т.е. каждая строка и столбец являются перестановками чисел от 1 до N. Такие квадраты называют магическими. И кроме того, должны выполняться все условия видимости зданий для каждой цифры-подсказки. Каждый раз решение единственное.
Ответить с цитированием
  (#4 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 15.11.2010, 15:56

Цитата:
Сообщение от wannet Посмотреть сообщение
По сторонам квадрата напротив некоторых его рядов стоят цифры, которые обозначают сумму чисел этажей видимых зданий в данном ряду, если посмотреть, стоя на месте этой цифры.
в смысле видно только те домики, перед которыми стоят пониже?
А примерчик можно?!
Ответить с цитированием
  (#5 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 15.11.2010, 22:54

15 14 12 9 5
15 1 2 3 4 5 5
14 2 3 4 5 1 6
и так далее Точно также снизу,те что красным есть изначально,те что черным нужно вставить,и так размер 5*5+4 столбца сверху снизу и с двоих боков
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 15.11.2010, 23:52

Цитата:
Сообщение от wannet Посмотреть сообщение
По сторонам квадрата напротив некоторых его рядов стоят цифры, которые обозначают сумму чисел этажей видимых зданий в данном ряду, если посмотреть, стоя на месте этой цифры.
Ваше сумму чисел этажей видимых зданий в данном ряду с панталыку сбивает - Там, вроде, просто сколько зданий видно .
Ответить с цитированием
  (#7 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 16.11.2010, 00:08

Ага, кажется Ваше #5 действительно про сумму этажей - пардон, у меня цвета нарушены :smile:. Красный-то уж точно не вижу)))
А вааще-то по-барабану - сколько зданий видно, или сколько всего этажей в этих видимых зданиях - условие бы полное для примерчику... Да квадрат поболее, если можно...
Ответить с цитированием
  (#8 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 16.11.2010, 01:13

ну например задание
15 12 9 5 14
13 . . . . .7
14. . . . . 8
8 . . . . . 9
9 . . . . .5
5 . . . . .10
5 7 8 9 6
Вместо точек нужно вставить цифры,плюс по бокам не все цифры могут стоять,может быть всего по 2 на каждой стороне.
Ответ:
15 12 9 5 14

13 1 3 4 5 2 7
14 2 4 5 1 3 8
8 3 5 1 2 4 9
9 4 1 2 3 5 5
5 5 2 3 4 1 10

5 7 8 9 6
Ответить с цитированием
  (#9 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 16.11.2010, 01:22

вот кусок там хорошо видно как и что пример,только у меняр азмер 5*5,и там простые небос
Изображения
Тип файла: jpg IMG_0362.jpg (54.9 Кб, 128 просмотров)
Тип файла: jpg IMG_0363.jpg (37.5 Кб, 111 просмотров)
Тип файла: jpg IMG_0364.jpg (39.0 Кб, 95 просмотров)
Ответить с цитированием
  (#10 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 16.11.2010, 11:14

Понятно... Размеры маленькие - можно и "по-простому": магический квадрат без проблем, а уж после строчки-столбики проверять. Не пробовали?
Ответить с цитированием
  (#11 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 17.11.2010, 01:30

пробовала,в итоге выдает переполнение стека,когда я сначла генерирую а потом сверяюсь,то оочень тяжело попасть в итоговое значение чтоб совпало
Ответить с цитированием
  (#12 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 17.11.2010, 01:38

procedure Gen;
var
f,h,k1,k2:integer;
i1,j1,j2,j3,j4,sum,max1,max2,max3,dd,ddd,t1,t2,t3: integer;
begin
kll:=0;
Printff(m,1,1);
{подсчет цифр для всех четырех сторон}

for i:=1 to 5 do
if (a[zz]<>am[zz]) or (b[i]<>bm[i]) or (c[zz]<>cm[zz]) or (d[i]<>dm[i]) then begin
inc(kll); break; end;
if kll>0 then
begin
for j:=1 to 5 do
for i:=1 to 5 do
x[i,j]:=0;
Gen;
end
else
exit
end;

procedure Printff(v,z,w:integer);
var
f,h,k1,k2:integer;
begin
if (z>5) then exit
else
begin
k1:=0;
k2:=0;
x[z,w]:=v;
for f:=1 to w-1 do
if x[z,f]=v then
Inc(k1);

for h:=1 to z-1 do
if x[h,w]=v then
Inc(k2);
if (k1=0) and (k2=0) then
begin
g:=0;
l:=0;
if w=5 then
begin
w:=1;
Inc(z);
end
else
Inc(w);
randomize;
v:=0;
v:=random(5)+1;
if v=6 then
v:=5;
printff(v,z,w);
end
else
begin
{x[z,w]:=0;}
inc(g);
if g>5 then
begin
if (w=1) and (z<>1) then
begin
w:=5;
Dec(z);
end
else
if (z<>1) and (w<>1) then begin
Dec(w);
Inc(l);
if l>3 then if (w=2) then w:=5 else if w=1 then w:=4 else w:=w-2;
end;
end;
if v=5 then v:=1 else Inc(v);
printff(v,z,w);
end;
end;
end;

.................
вызов для решения
m:=0;
randomize;
m:=random(5)+1;
if m=6 then m:=5;
Gen;
for i:=1 to 5 do
for j:=1 to 5 do
x3[i,j]:=x[i,j];
Помогите найти ошибку!!Пишет переполнение стека,либо может как то сокраить!!Плиззз
for i:=0 to 4 do
for j:=0 to 4 do
Form4.StringGrid1.Cells[j,i]:=IntToStr(x3[i+1,j+1]);
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 17.11.2010, 01:57

Помогите исправить шибки,выдает переподнение стека и все,сработало только один разз
Ответить с цитированием
  (#14 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 17.11.2010, 19:15

Цитата:
Сообщение от wannet Посмотреть сообщение
Помогите исправить шибки,выдает переподнение стека и все,сработало только один разз
Ошибки в соответствующем языку топике...
Ответить с цитированием
  (#15 (permalink)) Старый
wannet wannet вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.11.2010
По умолчанию 18.11.2010, 00:49

спасибо за моральную помощб,в итоге я написала решение
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Головоломка с HDD singledj Накопители 4 09.04.2012 19:26
Головоломка ollya Prolog 0 22.03.2011 01:20
Структура Money работа с денежными суммами NewMoon С/С++ 3 17.08.2010 21:41
Головоломка про Олимпиаду Марина34 Prolog 1 13.12.2009 19:39
Головоломка про Артек vtr Prolog 2 07.11.2007 21:39
Логическая головоломка labaratoria Prolog 8 09.10.2007 23:09
Логическая головоломка на TURBO PROLOG Надюшка Prolog 13 24.11.2006 11:39
Головоломка №19 imported_screamer Prolog 24 07.06.2006 02:17
Головоломка для Делфиста Yaten Prolog 2 18.05.2006 19:01
Головоломка №27 HARM Prolog 1 12.05.2006 15:51
Головоломка №118 Ivansoll Prolog 7 19.11.2005 21:52
Головоломка №117 makaka Prolog 2 30.10.2005 14:25



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов