![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
Найти закопанное пиратами сокровище просто: все, что для этого нужно - это карта. Как известно, пираты, как правило, рисуют карту от руки и описывают алгоритм поиска сокровища «Встаньте около одинокой пальмы. Пройдите тридцать шагов в сторону леса, потом семнадцать шагов в сторону озера, наконец, десять шагов в сторону большого булыжника. Сокровище находится под ним». Большая часть таких указаний просто взводится до прохождения какого-то количества шагов в одном из восьми направлений (1 - север, 2 - северо-восток, 3 - восток, 4 - юго-восток, 5 -юг, 6 – юго-запад, 7 - запад, 8 - северо-запад) (см. рис). Длина шага в любом направлении равна 1.
Путешествуя по такому пути, это дает возможность помиловаться красотой окружающей природы, но у нас время на это нет . Поэтому пираты хотят идти до точки, где спрятано сокровище. Например, вместо того, чтобы проходить три шага на север, один - на восток, один - па север, три - на восток, два - на юг и один - на запад, можно пройти напрямик, используя приблизительно 3.6 шага. Вам нужно написать программу которая по которая по указаниям пиратов узнает координати точки где зарит клад. Формат входящих данных: первый ряд имеет число N-число указаний. Следующие ряды состоят из самых указаний(номер направления и количество шагов между числами есть пропуск) Формат исходящих данных:у исходящий файл вивести координати точок X I Y(два числа между которими есть пропуск ) Имя входного файла: c.in Имя исходящего файла: c.out Максимальный час работы над одним тестом: 2 секунды Это сообщение отредактировал(а) Pakshin A. S. - 22.1.2005, 20:58 |
|||
|
||||
| Jureth |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 23.11.2004 Где: где-то в Западной Сибири Репутация: нет Всего: 3 |
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Ограничения - размер карты, макс. количесвтво указаний?
Вообще, насколько я понимаю, тут самое быстрое решение - если идем вверх, прибавлять к y-коорд еденицу, вниз - отнимать еденицу и т.д. -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
1<Число указаний<40. Номер направления от 1 до 8.Количество шагов от 1 до 1000
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
banan
А на С (или там Паскаль) сами переводите. PS. Задачка для третьего класса. Это сообщение отредактировал(а) Akina - 14.12.2004, 14:15 -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Ptica |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 27.7.2004 Репутация: нет Всего: 2 |
...если считать, что вначале игрок стоит в точке (0,0)...
|
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
В начале игрок стоит в точке (0,0)
|
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
Если игрок идет по направлениям(2,4,6,8)Например 3 шага то длина етого пути составляет 3.6шага(приблизитильно).
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Так, я не понял. В чем сейчас заключается вопрос?
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| banan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.11.2004 Где: Киев Репутация: нет Всего: нет |
Если ввести:1
1 10 ТО должно вивести в файл с.оut: 0 10. А виводит: 10 10 Это сообщение отредактировал(а) banan - 14.12.2004, 20:56 |
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Странно. У меня выводит "10 0". Но превратить его в "0 10" можно, поменяв при выводе в файл nord и west -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| slava_s |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.12.2004 Где: Киев Репутация: нет Всего: нет |
Банан привет. Я не знаю как делать ету задачу. От Славана
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
slava_s Мда... Бывает...
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |