#include <iostream>
using namespace std;
int main() {
string commands = "РРРРРЛР"; // Пример программы
int position = 0; // Начальная позиция робота
int visited_positions[10000] = {0}; // Массив для отслеживания клеток (макс. 10000 клеток)
int visited_count = 0; // Счётчик уникальных клеток
// Сначала добавим начальную позицию
visited_positions[position + 5000] = 1; // Используем смещение, чтобы поддерживать отрицательные индексы
visited_count++;
// Проходим по командам
for (int i = 0; i < commands.size(); i++) {
if (commands[i] == 'Л') {
position--; // Перемещение влево
} else if (commands[i] == 'Р') {
position++; // Перемещение вправо
}
// Проверяем, посещал ли робот уже эту клетку
if (visited_positions[position + 5000] == 0) { // Смещение для поддержки отрицательных индексов
visited_positions[position + 5000] = 1;
visited_count++; // Увеличиваем счётчик уникальных клеток
}
}
// Выводим количество уникальных клеток, которые посетил робот
cout << "Количество уникальных клеток: " << visited_count << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgc3RyaW5nIGNvbW1hbmRzID0gItCg0KDQoNCg0KDQm9CgIjsgIC8vINCf0YDQuNC80LXRgCDQv9GA0L7Qs9GA0LDQvNC80YsKICAgIGludCBwb3NpdGlvbiA9IDA7ICAvLyDQndCw0YfQsNC70YzQvdCw0Y8g0L/QvtC30LjRhtC40Y8g0YDQvtCx0L7RgtCwCiAgICBpbnQgdmlzaXRlZF9wb3NpdGlvbnNbMTAwMDBdID0gezB9OyAgLy8g0JzQsNGB0YHQuNCyINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LrQu9C10YLQvtC6ICjQvNCw0LrRgS4gMTAwMDAg0LrQu9C10YLQvtC6KQogICAgaW50IHZpc2l0ZWRfY291bnQgPSAwOyAgLy8g0KHRh9GR0YLRh9C40Log0YPQvdC40LrQsNC70YzQvdGL0YUg0LrQu9C10YLQvtC6CgogICAgLy8g0KHQvdCw0YfQsNC70LAg0LTQvtCx0LDQstC40Lwg0L3QsNGH0LDQu9GM0L3Rg9GOINC/0L7Qt9C40YbQuNGOCiAgICB2aXNpdGVkX3Bvc2l0aW9uc1twb3NpdGlvbiArIDUwMDBdID0gMTsgIC8vINCY0YHQv9C+0LvRjNC30YPQtdC8INGB0LzQtdGJ0LXQvdC40LUsINGH0YLQvtCx0Ysg0L/QvtC00LTQtdGA0LbQuNCy0LDRgtGMINC+0YLRgNC40YbQsNGC0LXQu9GM0L3Ri9C1INC40L3QtNC10LrRgdGLCiAgICB2aXNpdGVkX2NvdW50Kys7CgogICAgLy8g0J/RgNC+0YXQvtC00LjQvCDQv9C+INC60L7QvNCw0L3QtNCw0LwKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY29tbWFuZHMuc2l6ZSgpOyBpKyspIHsKICAgICAgICBpZiAoY29tbWFuZHNbaV0gPT0gJ9CbJykgewogICAgICAgICAgICBwb3NpdGlvbi0tOyAgLy8g0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQstC70LXQstC+CiAgICAgICAgfSBlbHNlIGlmIChjb21tYW5kc1tpXSA9PSAn0KAnKSB7CiAgICAgICAgICAgIHBvc2l0aW9uKys7ICAvLyDQn9C10YDQtdC80LXRidC10L3QuNC1INCy0L/RgNCw0LLQvgogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyDQn9GA0L7QstC10YDRj9C10LwsINC/0L7RgdC10YnQsNC7INC70Lgg0YDQvtCx0L7RgiDRg9C20LUg0Y3RgtGDINC60LvQtdGC0LrRgwogICAgICAgIGlmICh2aXNpdGVkX3Bvc2l0aW9uc1twb3NpdGlvbiArIDUwMDBdID09IDApIHsgIC8vINCh0LzQtdGJ0LXQvdC40LUg0LTQu9GPINC/0L7QtNC00LXRgNC20LrQuCDQvtGC0YDQuNGG0LDRgtC10LvRjNC90YvRhSDQuNC90LTQtdC60YHQvtCyCiAgICAgICAgICAgIHZpc2l0ZWRfcG9zaXRpb25zW3Bvc2l0aW9uICsgNTAwMF0gPSAxOwogICAgICAgICAgICB2aXNpdGVkX2NvdW50Kys7ICAvLyDQo9Cy0LXQu9C40YfQuNCy0LDQtdC8INGB0YfRkdGC0YfQuNC6INGD0L3QuNC60LDQu9GM0L3Ri9GFINC60LvQtdGC0L7QugogICAgICAgIH0KICAgIH0KCiAgICAvLyDQktGL0LLQvtC00LjQvCDQutC+0LvQuNGH0LXRgdGC0LLQviDRg9C90LjQutCw0LvRjNC90YvRhSDQutC70LXRgtC+0LosINC60L7RgtC+0YDRi9C1INC/0L7RgdC10YLQuNC7INGA0L7QsdC+0YIKICAgIGNvdXQgPDwgItCa0L7Qu9C40YfQtdGB0YLQstC+INGD0L3QuNC60LDQu9GM0L3Ri9GFINC60LvQtdGC0L7QujogIiA8PCB2aXNpdGVkX2NvdW50IDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K