Вверх ↑
Этот топик читают: Гость
Ответов: 4691
Рейтинг: 519
#31: 2008-09-04 16:30:23 ЛС | профиль | цитата
iarspider, объявляй готовность №1. Выкладывай задачу, участники сами объявятся, хороша ложка к обеду
карма: 6
0
Ответов: 5446
Рейтинг: 323
#32: 2008-09-04 20:10:30 ЛС | профиль | цитата
Ай, уговорил, будет вам

Разминочная задача: Исследователи плоского мира
Введение

Робототехника, планирование движений робота и обучение машин - вот области, лежащие на пересечении многих дисциплин, составляющих информатику: исксутвенный интелеект, алгоритмы и сложность, электрическое и механическое машиностроение и так далее. Кроме того, роботы-"черепахи" (описанные в работах Papert, Abelson, и diSessa) и роботы-"исполнители" (описанные в работах Pattis) многие годы изучались и испольовались студентами при изучении программирования.

Эта задача - об исследовании роботом доколумбова плоского мира.

Постановка задачи
По заданным размерам прямоугольной сетки, последовательным положениям робота и инструкциям написать програму, определяющую конечное положение робота.

Позиция робота состоит из координат на сетке (пара целых чисел: x-координата, и y-координата) и ориентацией в пространстве (N - север, S - юг, E - восток, W - запад). Инструкции робота - строка, состоящая из символов 'L', 'R', и 'F', обозначающих следующие инструкции:

  • L (Left): робот поворачивается влево на 90 градусов и остаётся на месте
  • R (Right): робот поворачивается вправо на 90 градусов и остаётся на месте
  • F (Forward): робот передвигается "вперёд" на одну точку, но не меняет ориентации в пространстве
Направление "Север" соответствут направлению перехода из точки (x,y) в точку (x,y+1).

Так как стека прямоугольная и ограниченная, то робот, вышедший за пределы сетки, потерян. Однако, такой робот оставил "метку", запрещающий следующим роботам покидать сетку в этой точке.
След оставляется в точке, в которой находился робот непосредственно перед падением. Инструкция, в результате которой робот покинет сетку, в "помеченной" точке будет проигнорирована.

Входные данные
* Пара координат, определяющая верхний-правый угол сетки. Координаты нижнего-левого угла сичтаются равными (0, 0);
Один или более блоков, состоящих из:
* Начального положения и ориентации робота;
* Строки команд.

Каждый робот обрабатывается последовательно, т.е. следующий робот начинает путеществие только после того, как предыдущий закончил его.

Начальные позиции роботов всегда находятся в пределах сетки. Максимальное значение каждой координаты - 50. Длина строки инструкций не превышает 100 знаков.

Результат работы
Для каждого набора по инструкций программа должна выдать конечную позицию и ориентацию робота. Если робот падает с края сетки, выводится сообщение "LOST" в дополнение к позиции и ориентации.

Пример входных данных
5 3
1 1 E
RFRFRFRF
3 2 N
FRRFLLFFRRFLL
0 3 W
LLFFFLFLFL

Пример выдачи
1 1 E
3 3 N LOST
2 3 S
------------ Дoбавленo:

Напоминаю:
решения присылать в приват, на всякий случай - оставляйте тут сообщение, если отправили приват.
карма: 1

0
Ответов: 4691
Рейтинг: 519
#33: 2008-09-04 20:56:30 ЛС | профиль | цитата
iarspider, задача вкуснятина , бросаю всё, начинаю искать решение, взываю всех принять участие, представлятся что задача не из лёгких но в этом сам и смак
карма: 6
0
Ответов: 5446
Рейтинг: 323
#34: 2008-09-04 22:24:25 ЛС | профиль | цитата
anderstudio, обожемой! Это - сложная задача?! М-да... А я-то искал попроще задачку для разминочного раунда, думал - "Ханойские башни" слишком просто будет, а вона оно как...
карма: 1

1
Голосовали:andrestudio
Гость
Ответов: 17029
Рейтинг: 0
#35: 2008-09-05 07:27:47 ЛС | профиль | цитата
iarspider, я думал это нужно будет отобразить и графически , но похоже я ошибаюсь, если так то это всё упрощает.
карма: 0

0
Ответов: 3514
Рейтинг: 184
#36: 2008-09-05 08:45:30 ЛС | профиль | цитата
iarspider, ну не все сильны в этой сфере =(
карма: 0
0
Ответов: 4691
Рейтинг: 519
#37: 2008-09-05 16:37:16 ЛС | профиль | цитата
Астрамак, я уже больше половины зделал за 1,5 часа
------------ Дoбавленo:

Кажется что то получилось, схему отправил.
------------ Дoбавленo:

похоже более участников не будет , iarspider, а задачка прикольная всёже ;)
карма: 6
0
Гость
Ответов: 17029
Рейтинг: 0
#38: 2008-09-05 18:23:17 ЛС | профиль | цитата
не понятен один момент

Для каждого набора по инструкций программа должна выдать конечную позицию и ориентацию робота. Если робот падает с края сетки, выводится сообщение "LOST" в дополнение к позиции и ориентации.


тоесть нужна всего одна позиция где робот должен закончить движение?

карма: 0

0
Ответов: 5446
Рейтинг: 323
#39: 2008-09-05 21:09:37 ЛС | профиль | цитата
Именно так.
------------ Дoбавленo:

Напоминаю: схема принимается к проверке только в том случае, если она оформлена в виде одного MultiElementEx следующего вида:

#sha
Add(MultiElementEx,9964527,434,273)
{
@Hint=#47:Разминочная задача: Исследователи плоского мира|16:Автор: iarspider|11:Версия: 0.0|
}
BEGIN_SDK
Add(EditMultiEx,14999505,21,21)
{
WorkCount=#7:doRobot|
EventCount=#8:onOutput|
DataCount=#4:MaxX|4:MaxY|6:StartX|6:StartY|8:StartDir|12:CommandsText|
}
END_SDK
карма: 1

0
Ответов: 4691
Рейтинг: 519
#40: 2008-09-06 20:54:07 ЛС | профиль | цитата
iarspider, а что раньше эту форму нельзя было предложить , я тут напрягаюсь а оно вон как , значит так как эта форма ранее небыла оговорена то выкладываю мультик с двумя точками вход и выход, вход сторка
1. строка шаг сетки (необходимое условие и единственное в списке)
2. строка начальные координаты робота и его ориентация.
3. список инструкций.
4. новый робот начальные координаты робота и его ориентация.
5. список инструкций.

и т.д

Выход строка, координаты и ориентация робота и сигнализация его последней точки перед падением "LOST"

p.s высылаю мультик так как сегодня переделать не получится, на день варения пригласили



карма: 6
0
Гость
Ответов: 17029
Рейтинг: 0
#41: 2008-09-06 20:56:00 ЛС | профиль | цитата
Уважаемые что все настолько заняты или задачка не по зубам , хорошая возможность для импровизации своих возможностей предложена но все как обычно предпочитают тихо отмолчатся и сделать вид что "это не для меня", ну и что, выводы то всё равно сделать можно так как позиция уже понятна, как я уже говорил что пироги то стряпать все мастаки но кто ими давиться будет, вот в чём вопрос Для меня лично познания в логике лишними не будут мне они для работы необходимы а Вы себя лишаете возможности самосовершенствоваться и учится на ЧУЖИХ ошибках ибо схемотехника это как не крути искуство в полном смысле этого слова. Всё сказанное выше к пограммистам не относится ибо у них есть свои дела и проблеммы и более глобальные.

p.s простите за прямоту но для меня промолчать тоже самое "Что фигу в кормане подержать"
карма: 0

0
Ответов: 902
Рейтинг: 27
#42: 2008-09-07 02:36:13 ЛС | профиль | цитата
andrestudiРѕ,
или задачка не по зубам

Я тупой до ужаса! Я вообще не понял о каких роботах реч! Хотябы небольшой пример посмотреть как это делается.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 4691
Рейтинг: 519
#43: 2008-09-07 07:25:18 ЛС | профиль | цитата
juk, ну что сказать, удобная позиция, но ты хотябы её озвучил. Вот я в самом начале тоже думал как делается ?, в итоге понял что всётаки руками

карма: 6
0
Ответов: 5446
Рейтинг: 323
#44: 2008-09-07 08:04:28 ЛС | профиль | цитата
juk, присоединяюсь к словам anderstudio: я тоже когда-то был тупой и нифига не понимал. Но я старался понять, и вот теперь не только понимаю, но и помогаю другим понять.

== Внеконкурсная задача. Для тех, кто хочет понять ==
Задача внеконкурсная, т.е. решение надо выкладывать тут, а не посылать мне в личку.

Введение
Это простейшася задача, на которой можно (и нужно) тренироваться в решении задач contest-а.

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

Входные данные
Два числа и символ операции ("S" - сложение, "D" - разность, "P" - произведение)

Можно считать, что ни операнды, ни результат не выйдут за границы целого типа.

Пример:
1 2 S
2 7 P
9 11 D

Выходные данные
Программа должна выдать одно число - результат операции.

Пример
3
14
-2

Требования к оформлению:
Решение задачи должно быть оформлено в виде мультиэлемента
#sha
Add(MultiElementEx,9964527,434,273)
{
@Hint=#20:Внеконкурсная задача|16:Автор: iarspider|11:Версия: 0.0|
}
BEGIN_SDK
Add(EditMultiEx,14999505,21,21)
{
WorkCount=#6:doCalc|
EventCount=#8:onOutput|
DataCount=#3:Op1|3:Op2|6:OpSymb|
}
END_SDK

------------ Дoбавленo:


Я готов - редкий случай - разжевать эту задачу от и до, но я бы хотел, чтобы народ сам задавал вопросы. Также могу ответить на конкретные вопросы по разминочной задаче.
карма: 1

0
Ответов: 4691
Рейтинг: 519
#45: 2008-09-07 08:48:24 ЛС | профиль | цитата
одно решение уже готово

code_9912.txt

карма: 6
0
файлы: 1code_9912.txt [2.6KB] [259]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)