|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.11.2008, 18:05 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Задача на матрицы
Привет всем!
Помоготие решыть задачю : Задача E. Їжачок На шахівниці розміром NxN розставлено К пронумерованих фішок. Їжачок, який збирає ці фішки, виходить з клітки з координатами (1,1) і повинен зібрати всі фішки в порядку зростання їх номерів. З клітки з координатами (x,y) їжачок може переміститися тільки в одну з чотирьох сусідніх, тобто в одну з кліток з координатами (x+1,y), (x-1,y), (x,y+1) або (x,y-1), звичайно з дотриманням умови, що він не повинен виходити за межі дошки. Вимагається визначити, яку мінімальну кількість ходів потрібно зробити, щоб зібрати всі фішки. Якщо їжачок проходить через клітку, де міститься фішка з більшим номером, ніж він зараз повинен узяти, то він просто проходить, а фішка залишається стояти. Формат вхідних даних: В першому рядку вхідного файлу містяться два числа розділених пропуском = N і K (1<=N,K<=1000). Далі у K рядках містяться по два цілі числа, розділені пропуском – координати фішок в порядку зростання їх номерів, тобто спочатку для першої фішки, потім для другої фішки і т.д. Формат вихідних даних: У вихідний файл необхідно вивести одне число – мінімальну кількість кроків їжачка, необхідну для збирання всіх фішок. Приклади вхідних і вихідних даних: Вхідні дані: Вихідні дані: 4 3 3 3 1 4 2 1 11 Я что-то решыл, вот мой код, но он как видите не полный: program my; var n,i,j,posx,posy : integer; k : integer; an1: array [1..1000] of integer; an2: array [1..1000] of integer; begin readln(n,k); for i := 1 to k do begin readln(an1[i],an2[i]); end; posx := 0; posy := 0: for j:= 1 to k do begin if ... ??? .... тут незнаю что надо... end; end. Помогите решыть, очень спасибо говорю стразу, что-бы потом не флудит !
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
07.11.2008, 19:50 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Извините, вот задача на русском:
Задача E. Ежик На шахматнице розмиром NxN расставлено К пронумерованных фишек. Ежик, который собирает эти фишки, выходит из клетки с координатами (1,1) и должен собрать все фишки в порядке роста их номеров. Из клетки с координатами (x,y) ежик может переместиться только в одну из четырех соседних, то есть в одну из клеток с координатами (x+1,y), (x-1,y), (x,y+1) или (x,y-1), обычно с соблюдением условия, что он не должен выходить за пределы доски. Требуется определить, какое минимальное количество ходов нужно сделать, чтобы собрать все фишки. Если ежик проходит через клетку, где содержится фишка с большим номером, чем он сейчас должен взять, то он просто проходит, а фишка остается стоять. Формат входных данных: В первой строке входного файла содержатся два числа разделенных пропуском = N и K (1<=N,K<=1000). Дальше в K строках содержатся по два целых числа, разделенные пропуском – координаты фишек в порядке роста их номеров, то есть сначала для первой фишки, потом для второй фишки и т.д. Формат выходных даих: В исходный файл необходимо вывести одно число – минимальное количество шагов ежика, необходимое для сбора всех фишек. Примеры входных и исходных данных: Входные данные: Исходные данные: 4 3 3 3 1 4 2 1 11
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
07.11.2008, 19:56 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
НУ пусть ежик ходит буквой Г в разных случаях повернутой по разному, это помоему кратчайший путь в любом из раскладов...
I'm learning to live...
|
07.11.2008, 20:09 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
а хоть кусочек кода покажыте? :'(
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
07.11.2008, 20:31 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну на скорую руку могу только заполнение поля показать
(просто ща ГОСТик один в инете рою...) Код:
I'm learning to live...
|
07.11.2008, 20:33 | #6 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
спасибо
мне бы на Паскале, но Дельфи я знаю, поетому розберусь, но если кто-то поможет - буду блпгодарен...
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
07.11.2008, 21:05 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
В принципе вот могу предложить так определять кол-во ходов буквой Г:
Код:
bx,by - положение ежика Результат соответственно кол-во ходов до этой фишки буквой Г Уловил идею?
I'm learning to live...
|
07.11.2008, 21:09 | #8 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Что-то не могу розобраться... для чего в звдвче Random?
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
07.11.2008, 21:12 | #9 | |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Цитата:
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
|
07.11.2008, 21:16 | #10 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на матрицы | щдуп | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 26.06.2008 08:52 |
Задача на матрицы и массивы | kaliha | Помощь студентам | 3 | 17.01.2008 23:46 |
Задача на матрицы | Integral | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.12.2007 13:32 |
Задача с вводом матрицы на С | Aero | Помощь студентам | 1 | 28.10.2007 14:50 |