Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
8 / 8 / 5
Регистрация: 27.10.2013
Сообщений: 170

Ускорить алгоритм проверки хода коня

04.04.2015, 19:29. Показов 1370. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача:
У Васи возникла проблема определения правильности хода конем, который делает пользователь. Т.е. если пользователь вводит значение «C7-D5», то программа должна определить это как правильный ход, если же введено «E2-E4», то ход неверный. Так же нужно проверить корректность записи ввода: если например, введено «D9-N5», то программа должна определить данную запись как ошибочную. Помогите ему осуществить эту проверку!
И мое решение
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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
  const Digits: set of char=['1' .. '8'];
        Words: set of Char=['A' .. 'H'];
var  str :String;
      x1,y1:integer;
      x2,y2:Integer;
begin
readln(str);
  if (str[1] in Words) and (str[2] in Digits) and (str[3]='-') and
  (str[4] in Words) and (str[5] in Digits) then
  begin
   x1:= Ord(str[1]) - 64;
   y1:= Ord(str[2]) - 48; 
   x2:= Ord(str[4]) - 64;
   y2:= Ord(str[5]) - 48;
   if ((Abs(x1-x2)=1)) and ((Abs(y1-y2)=2)) or
      ((Abs(x1-x2)=2)) and ((Abs(y1-y2)=1)) then Writeln('YES') else Writeln('NO');
  end else Writeln('ERROR');
end.
При сдаче на сайте получаю ошибку Time limit exceeded (2,457sec)
Ограничение по времени: 1 сек
Не пойму, куда еще проще можно это решить? И почему это так долго получается? Ведь ничего такого прям нету..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2015, 19:29
Ответы с готовыми решениями:

Шахматы - определить возможность хода коня
Дана доска шириной 8 клетой и длинной 8. Дана точка где стоит шахматный конь , и вводяться данные куда он сходил .Написать прогу которая...

Проверить корректность хода шахматного коня
Совсем недавно Вася занялся программированием и решил реализовать собственную программу для игры в шахматы. Но у него возникла проблема...

Алгоритм - перемещение шахматного коня из точки А в точку Б
Задание: На стороне клиента задаются размеры шахмотной доски MxN. Так же пользователь расставляет на доске белого коня и черного ферзя....

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
04.04.2015, 21:03
А что за система контроля сдачи?
Может она входные данные в файле дает, а вы с консоли читаете?
Может она файл ждёт а вы на консоль пишете?
0
8 / 8 / 5
Регистрация: 27.10.2013
Сообщений: 170
05.04.2015, 00:11  [ТС]
Да, спасибо. Там с файла читалось, не внимательно прочитл входные и выходные данные)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2015, 00:11
Помогаю со студенческими работами здесь

Алгоритм перемещения шахматного коня из точки А в точку Б
Задание: На стороне клиента задаются размеры шахмотной доски MxN. Так же пользователь расставляет на доске белого коня и черного ферзя....

Кратчайший путь(волновой алгоритм) для шахматного коня
Нужно найти Кратчайший путь(волновой алгоритм) для шахмотного коня.

Построить алгоритм ходов коня по шахматной доске с помощью рекурсии
Здравствуйте. Суть задачи: построить алгоритм ходов коня по шахматной доске с помощью рекурсии. Классическая задача. Знаю, что есть...

Разработать эвристический алгоритм для решения задачи тур коня
Помогите, пожалуйста, понять хотя бы что от меня требуется? А то сколько ищу в интернете ничего не могу найти подобного: Разработать...

Ускорить алгоритм
Есть массив PxLb9 размером 480*640*9 Получение массива numPxLb требует примерно 6 секунд: tic for m=1:size(PxLb9,1) ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru