прога Японские кроссворды (предложение разработки)

Модератор: Модераторы разделов

Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: прога Японские кроссворды

Сообщение zhekas »

В основном методе есть смысл в подобныхкроссвордах. К примеру, 90*90 по одной еденицы в каждом столбце и строке. Мы берем клетку [1,1] и заполняем её. далее идет основной метод, который сраз указывает, что больше клеток ни в первом столбце ни в первой строке нет. Таким образом мы отметаем сразу 89+89=178 этапов подбора
Спасибо сказали:
promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: прога Японские кроссворды

Сообщение promov »

Cмотри, как я мыслю решение матрицы вышеупомянутой матрицы 5*5 методом перебора+ основным методом:

Начинаем с основного метода, что очень важно.

1б) Что можем закрасить? Ничего
1в) Тогда закрасим что-нибудь

2а) Что можем закрасить? Это, это и это
2б) Что можем закрасить? Ничего
2в) Тогда закрасим что-нибудь

3а) Что можем закрасить? Это, это и это
3б) Что можем закрасить? Ничего
3в) Тогда закрасим что-нибудь

4а) Что можем закрасить? Это, это и
4б) Что можем закрасить? Ничего
4в) Тогда закрасим что-нибудь

5а) Что можем закрасить? Это, это и это
5б) Что можем закрасить? Ничего
5в) Тогда закрасим что-нибудь

Всё, что под литерой б)- это всё вхолостую. Это потеря времени. Эта проверка стоки и стобца. Вхолостую, повторяю. В кроссвордах посложнее это не потеря времени, а в подобных потеря.

Метод перебора в данном соучае времени не теряет. Он предположит первую клетку и будет идти клетка за клеткой, не возвращаясь к пройденным клеткам.
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:
Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: прога Японские кроссворды

Сообщение zhekas »

смотри пост выше Вот. Таким образом в том кроссворде у меня будет всего 89 этапо(по одному в каждой строке кроме последнего). А у тебя гораздо больше (Только в последней строке ты пройдешь 89 этапов и то когда точно установишь все остальные). Какая логика.
Спасибо сказали:
promov
Сообщения: 384
Статус: Участник
ОС: Debian GNU/Linux

Re: прога Японские кроссворды

Сообщение promov »

zhekas писал(а):
28.08.2008 21:41
Таким образом мы отметаем сразу 89+89=178 этапов подбора

promov писал(а):
28.08.2008 21:52
2а) Что можем закрасить? Это, это и это
Вот, мы написали одно и тоже только разными словами. В метод перебора это тоже используется, только несколько по другому. Ты отмёл 178 этапов подбора сразу, а я по одной клетке буду отметать. Но в скорости-то я не проиграю, ибо 178 это 178 клеток, как ни крути, всё равно нужно обозначить каждую отдельно, мы же оба это понимаем. Тут всё пока на равных. А вот дальше



promov писал(а):
28.08.2008 21:52
2б) Что можем закрасить? Ничего
В методе перебора+ основном методе такиъх этапов 5! (если матрица 5*5)
Первый этап- это рассмотр первого стобца и первой стоки (левая крайняя клетка имеет координаты 1, 1)
Второй этап- это рассмотр второго стобца и втоой стоки (левая крайняя клетка имеет координаты 2, 2)
Третий этап- это рассмотр третьего стобца и третьей стоки (левая крайняя клетка имеет координаты 3, 3)
Четвёртый этап- это рассмотр четвёртого стобца и четвёртой стоки (левая крайняя клетка имеет координаты 4, 4)
ПЯтый этап- это рассмотр пятого стобца и пятой стоки (левая крайняя клетка имеет координаты 5, 5)

И всё вхолостую. Кроме пятого рассмотрения.
Да ты всё равно молоток, что ты... Такую работу провенуть!
Зачем хорёк пошел в ларёк, зачем барсук полез на сук...
Мораль легко уразуметь: зачем на бал пришёл медведь?
Спасибо сказали:
Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: прога Японские кроссворды

Сообщение zhekas »

Ну и тебе надо заниматься проверкой. Ьы же не только клеточки закрашиваешь. А ты не будешь эти 178 клеток заполнять? они у тебя останутся пустыми чтоли?

В методе перебора+ основном методе такиъх этапов 5! (если матрица 5*5)

Ага, а если 90*90, то 90! чтоли. При всем желании я бы застрял там надолго(может даже навсегда). Щас специально прошел 90*90 получилось 0.3 секунды.
Ошибаешься таких этапов всего 5 будет, даже не 5 а всего 4. По одному в каждой строке, кроме последней. Так как предыдущюю строку мы уже закрасили полностью за один этап.

Кстати, у меня основная матрица может принимать три значения: yest - когда точно есть, net - когда точно нет и pusto - когда неизвестно,
поэтому на первом этапе перебор закрасит [1,1] - yest, Основной метод закрасит [1,i] - net [i,1] - net. и у меня останется матрица 4*4 и 89*89 соответсвенно.

А у тебя их будет 5!. Это только на 5*5. А если 90*90, то 89 против 90! чувствуешь разницу.
Спасибо сказали:
Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: прога Японские кроссворды

Сообщение zhekas »

Выкладываю сюда консольную программу решающую Японские кроссворды, написанную на freepascal, с примерами. В архиве содержатся: исходник JAPAN722.pas, исполняемый файл JAPAN722 и примеры в виде текстовых файлов, которые(примеры) находятся в папке japex.

Перед запуском JAPAN722 убедитесь, чтоб в той же дирректории находилась папка japex. В программе нужно вводить только имя файла (без пути).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
socr
Сообщения: 35
ОС: Ubuntu Linux

Re: прога Японские кроссворды

Сообщение socr »

Если кому интересно могу выложить свой вариант...
Спасибо сказали:
Аватара пользователя
zhekas
Сообщения: 60
ОС: Gentoo

Re: прога Японские кроссворды

Сообщение zhekas »

Вот, собственно, моя консольная программа решающая Японские кроссворды на C++ jsolver
Спасибо сказали:
Аватара пользователя
OCTAGRAM
Сообщения: 28
ОС: Mac OS X

Re: прога Японские кроссворды

Сообщение OCTAGRAM »

Если интересно, вот и моя версия: http://sources.codenet.ru/download/3207/MGET_PAS.html
If you want to get to the top, you have to start at the bottom
Спасибо сказали:
abrlinux
Сообщения: 2
ОС: Ubuntu 9.04

Re: прога Японские кроссворды

Сообщение abrlinux »

pluton8, я так понимаю, автор вот етого проекта: https://jcw.svn.sourceforge.net/svnroot/jcw/trunk
Хочу спросить, были ли какие-то дополнительные доработки помимо того, что находится в svn? Хотелось бы добавить пункт "Решение кроссворда". Просто может у автора уже есть какие-то дополнительные наработки, чтобы по второму разу не писать их.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: прога Японские кроссворды

Сообщение Voral »

pluton8 писал(а):
25.06.2008 11:13
promov , спасибо за объяснения, но я пока хочу написать прогу для решения вручную, просто оболочку.
авторешалка мож будет пожже

как я понимаю, начать надо с морды, то есть рисование поля, клацание мышей и клавиатурой. какой виджет юзать, и как правильно это сделать?

Да элементарно. QLabel или QLineEdit. Тут или бордюром решать, или подложку сделать нужного цвета, а виджеты размещать на какомто расстоянии.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали: