ШАХМАТЫ, ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
ШАХМАТЫ, ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ |
Cyber |
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: CyberrMann Репутация: 0 |
Помогите!!! Ато убился уже!
Шахматы (Время: 1 сек. Память: 16 Мб Сложность: 18%) Совсем недавно Вася занялся программированием и решил реализовать собственную программу для игры в шахматы. Но у него возникла проблема определения правильности хода конем, который делает пользователь. Т.е. если пользователь вводит значение «C7-D5», то программа должна определить это как правильный ход, если же введено «E2-E4», то ход неверный. Так же нужно проверить корректность записи ввода: если например, введено «D9-N5», то программа должна определить данную запись как ошибочную. Помогите ему осуществить эту проверку! Входные данные В единственной строке входного файла INPUT.TXT записан текст хода, который указал пользователь. Пользователь не может ввести строку, длиннее 5 символов. Выходные данные В выходной файл OUTPUT.TXT нужно вывести «YES», если указанный ход конем верный, если же запись корректна (в смысле правильности записи координат), но ход невозможен, то нужно вывести «NO». Если же координаты не определены или заданы некорректно, то вывести сообщение «ERROR». входной ---- выходной C7-D5 ----- YES E2-E4 ---- NO BSN --- ERROR Сообщение отредактировано: Cyber - |
Unconnected |
Сообщение
#2
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Держи. Решал на сайте олимпиадного программирования.
uses sysutils; -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Client |
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
ну и условия...
Проще сделать условие (abs (x1-x2)=1 and abs(y1-y2)=2) or (abs (x1-x2)=2 and abs(y1-y2)=1)(вроде так) и проверки на вхождение в размеры доски |
volvo |
Сообщение
#4
|
Гость |
Цитата Проще сделать условие Проще проверить вот так:if (abs(h1.x - h2.x) * abs(h1.y - h2.y)) = 2 then yes else no;. Да и Voz зачем-то переусложнен... Все проще: function voz(c:char):byte; |
Client |
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Цитата Проще проверить вот так: Хитро, проще уже точно некуда Сообщение отредактировано: Client - |
Cyber |
Сообщение
#6
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: CyberrMann Репутация: 0 |
вот я как сделал:
Код abs( ord( s[1])- ord( s[4]))+ abs( ord( s[2])-ord (s[5]))= 3 но блин по програме тестеру не проходит даже 1ый тест. |
Lapp |
Сообщение
#7
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
1. Пользуйся, пожалуйста, тэгами code=pas и /code (см. правила вверху страницы).
вот я как сделал: Ессно. Пример хода, который годится по твоему тесту, но на самом деле неверен:Код abs( ord( s[1])- ord( s[4]))+ abs( ord( s[2])-ord (s[5]))= 3 но блин по програме тестеру не проходит даже 1ый тест. A1-A4 Бери алгоритм volvo. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
buy cialis online with a prescri |
Сообщение
#8
|
Гость |
Levitra 10 Mg Bayer Precio
|
hydroxychloroquine for sale amaz |
Сообщение
#9
|
Гость |
Hidradenitis Suppurativa Amoxicillin
|
Текстовая версия | 22.12.2024 12:28 |