3 / 3 / 4
Регистрация: 16.11.2013
Сообщений: 102
1

Задача ёжик - Собрать все фишки, расставленные на поле

07.11.2015, 17:47. Показов 1819. Ответов 1
Метки нет (Все метки)

Смысл компьютерной игры “Ежик” заключается в том, чтобы собрать все фишки,
расставленные на поле размером N x M, количество фишек – K. Фишки в игре
пронумерованы, собирать их можно только в порядке возрастания их номеров.
В начале игры Ежик начинает движение с клетки c координатами (1, 1). За каждый
шаг игры Ежик может переместиться только на одну из 8-ми соседних клеток (вверх,
вниз, вправо, влево или по диагонали), конечно с соблюдением условия, что выходить за
пределы игрового поля нельзя. Если ежик попадает на клетку с фишкой с большим
номером, чем он сейчас должен взять, то ничего не происходит (фишка остается стоять в
клетке).
Требуется определить, какое минимальное число шагов необходимо ежику, чтобы
собрать все фишки, расставленные на поле.
Входные данные
В первой строке входного файла записаны через пробел три целых числа N, M, K
(1 ≤ N ≤ 1000, 1 ≤ M ≤ 1000, 1 ≤ K ≤ 1000). Далее в K строках записаны через пробел по
два целых числа (Xi, Yi) – координаты расположения фишек на игровом поле в порядке
возрастания их номеров.
Выходные данные
В выходной файл записать одно целое число – минимальное число шагов, за
которое ежик может собрать все фишки

Input.txt
4 4 3
4 3
1 4
3 2
Output.txt
8
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2015, 17:47
Ответы с готовыми решениями:

Задача про фишки на комбинаторику
У Андрея есть огромное количество фишек N цветов. Он хочет выложить некоторое количество фишек в...

Олимпиадная задача - движение фишки
Есть вот такая задача: /*Фишка может двигаться по полю длины N только вперед. Длина хода фишки не...

Задача про фишки на комбинаторику
У Андрея есть огромное количество фишек N цветов. Он хочет выложить некоторое количество фишек в...

Перемещение фишки в поиске другой фишки
Здравствуйте ! Помогите, пожалуйста, решить задачу по перемещению фишки по полю 8 на 8. На...

1
охотник
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
07.11.2015, 18:49 2
Лучший ответ Сообщение было отмечено Redsnake как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var n,m,k:integer;
    i:integer;
    st1,str1,st2,str2:integer;
    s:longint;
function hod(x1,y1,x2,y2:integer):integer;
 function min_0(a,b:integer):integer;
  begin
   if a=b then min_0:=a
           else 
            if a<b then min_0:=a
                   else min_0:=b
  end;
 begin
  hod:=abs(abs(x1-x2)-abs(y1-y2))+min_0(abs(x1-x2),abs(y1-y2))
 end; 
begin
 assign(input,'input.txt');reset(input);
 assign(output,'output.txt');rewrite(output);
 s:=0;
 readln(n,m,k);
 str1:=1;st1:=1;
 for i:=1 to k do
  begin
   st2:=st1;str2:=str1;
   readln(str1,st1);
   s:=s+hod(str1,st1,str2,st2)
  end;
 write(s);
 close(output)
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2015, 18:49
Помогаю со студенческими работами здесь

Задача решена только нужна "нитра" фишки по ускорению
Задача такая, создать файл заданного размера к примеру 500 мегабайтов, в него на генерировать...

Задача "Фишки"
Помогите, пожалуйста, решить задачу!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru