Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
13:01
4148
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2|3|4

АвторПаскаль
Таки это снова я, и таки снова нужна ваша помощь.

1.Дана шахматная доска размером 8*8 клеток. N клеток на этой доске занято фигурами. В клетке A1 находится фишка. Каждый ход фишка может ходить на одну клетку по вертикали или горизонтали. Фишка может ходить только по свободным клеткам. Найти кратчайший путь фишки из А1 в Н8. А1 и Н8 не заняты фигурами.
Ввод: Кол-во фигур, коор-ты фигур.
Вывод:кол-во посещённых клеток(включая А1 и Н8), сами посещённые клетки.
{Кэп подозревает, что делается это с помошью очередей.}

2. По кругу выложено N конфет. Петя идёт по кругу вдоль конфет, начиная с первой, и хавает каждую вторую до полного окончания конфет. Сорта конфет обозначаются номерами от 1 до 1000.
Вывести номера конфет в порядке поедания.
Ввод: N - кол-во конфет. N чисел - номера сортов.
Вывод: Номера сортов.
{Тута от меня вообще смысл ускользает.}

Короче говоря, очень рассчитываю на вашу помощь. Особенно рассчитываю на внятный код на Паскале, а не на пространные рекомендации. Задачи решаются с использованием очередей, стеков, списков. Для работы со структурой данных хорошо бы юзать отдельные процедуры. Таки заранее спасибо.
1. Условие некорректно. 8-ю фишками можно перекрыть проход, выстроив их на одной линии, и 9-я фишка из А1 в Н8 не попадет никогда.
2. В конечном итоге Петя сожрет все конфеты. Сначала он выбирает каждую вторую, потом из тех, что остались каждую вторую, в конечном итоге их останется 2, потом 1..
для Von_Shtilitz:
1. Видимо, этот вариант нужно перекрыть.
2. А сорта-то тут причём?
Ню же.
В конечном итоге Петя сожрет все конфеты.
1000 штук?
для Arcowar:
А я чо? А я ничо.
За код постараюсь вознаградить. Морально, разумеется.
В первой задаче очень много путей перекрытия поля H8 - минимум 3 фигуры - и уже проход закрыт. Задачка не простая. Алгоритм я думаю тут следующий:
Начинаем с клетки А1. Определяем, заняты ли соседние (4) с текущей клеткой поля. Но чтобы не входила в состав тех клеток, что мы уже посещали.
1) если да - возвращаемся на предыдущую клетку (маршрут держим в массиве элементов так на 50(с запасом, ну или посчитайте, если не лень - максимальный путь))
2) если нет - смотрим сколько свободных клеток в наличии. и двигаемся в сторону увеличения порядкового номера - клетки с первой горизонтали - во вторую, из А в В и т.д. Как только доходим до клетки с которой нет свободных клеток, тогда возвращаемся к предудущей клетке, рядом с которой было больше чем 1 свободная клетка, и пробуем перейти в клетку со следующим порядковым номером.
И так до тех пора мы не придем к клетке H8. Путь мы запомнили - он в нашем массиве. Если же мы вернулись к Клетке А1, использовав все свободные с ней клтки, то тогда задача не имеет решения.
к примеру:
допустим фигуры стоят на полях А2,В2,С3,D2, ну и пусть F1. А также на полях G7,G8,H7.
И так: сначала мы определяем что свободная клетка с А1 это В1 - записываем ее в массив. Смотрим далее - свободная только С1 - переходим. Далее свободны D1 и С2 - допустим приоритет - перемещения по вертикали - перемещаемся на С2 - определяем, что свободных клеток, которые мы не посещали уже нет -удаляем С2 из массива (массив состоит из А1,В1,С1). переходим на клетку D1, затем на Е1, Е2 и т.д.
И так доходим то клетки F8 - видим что справа занято поле, спускаемся таким образом до F6 - G6 -H6. Так как поля заняты, то дальше тут по идее надо возвращаться к точке А1 чтобы посчитать данную задачу невыполнимой. Так как тут будет слишком много операций со стороны обработчика, хотя и понятно, что задача не выполнима, то тут можно поставить ограничение. - Изначально нужно узнать - составляют ли клетки с фигурами замкнутую фигуру. и входит ли внутрь данной фигуры поле H8.

В общем если нужно будет еще че помочь - пиши в личку, алгоритм подработать надо еще.

Во второй задаче требуется вывести номера конфет в порядке поедания, это зависит от кол-ва введенного N, все делается одним циклом, тут все понятно. А вот с сортами я так понимаю, что тут будет типо матрицы размером [N][1] - где каждой конфете будет присвоен ее сорт, и это все будет вводиться (бред какой-то в общем). В общем необходима корректировка задания.
для 87Gektor87:
Спасибо, надо будет ковырять. ( На Паскале же ты не напишешь?)

Ап на всякий случай.
я могу на си написать) не знаю надо ли оно тебе?
для 87Gektor87:

Не, переводить совсем закопаюсь, спасибо. )
а что именно на паскале? где им сейчас пользуются?
для 87Gektor87:
В Беларуси. ) В методичке на примеры на Бейсике вообще наткнулся. )
ЛОЛ, такие языки только в школе проходят, зачем в ВУЗАХ - то их преподавать, если преподавать, так уж языки более высокого уровня, ну и ООП естественно.
какой курс?
для GINdog:
это не тебе я тогда писал программки со строками и аскии-кодами?
для 87Gektor87:
такие языки только в школе проходят, зачем в ВУЗАХ - то их преподавать, если преподавать, так уж языки более высокого уровня, ну и ООП естественно.
я вижу что ты делитант, но заострять на этом внимания не буду, скажу только что в 2003-2004 я изучал в университете Фортран. И знаешь, я понял что старый не значит плохой. Постарайся выйти за рамки глупых понятий малообразованых сисадминов))
ЛОЛ, такие языки только в школе проходят
ЛОЛ, зачим "проходить" языки? Алгоритмы - наше всё!
для AlabamaMen:
я не говорю, что старый - значит плохой, просто если необходимо научить человека программированию, то почему бы не сделать это на языке более высокого уровня? опять же пригодится в дальнейшем. У нас в ВУЗе скажем фортран или паскаль не преподавали, только С, С++. Возможно я что-то и потерял, но я лично не думаю что знание паскаля мне в дальнейшем пригодится, а вот С, С++ пригождается до сих пор.
И вот скажи мне, где тебе пригодился фортран?
15+, ща глянул почти, не тебе вроде.

только после последнего раза, когда даже паршивенький перстенек не подарили, а сказали пасиба - я не буду никому помогать. обидно(((

для Alkor:
ну почему же, я вот учил делфю по хелпу еще на далеком втором курсе и посему досих пор узнаю а некоторых возможностях среды о которых мне бы мог рассказать препод, вместо долбаных дескрипоров и си-компилятора))

Алгоритмическое мышление- наше всё!
И вот скажи мне, где тебе пригодился фортран? пригодились лабы, написаные на нем, считал курсач аж на 4 курсе, а фортран был на втором. Но это лирика, меня научил многому фортран.

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

опять же пригодится в дальнейшем
мне изучение паскалая очень пригодилось когда начал изучать делфи, а теперь это неплохой хлеб.
1|2|3|4
К списку тем
2007-2025, онлайн игры HeroesWM