Я готовлюсь к соревнованиям по программированию, и я хотел бы знать, как я могу решить эту проблему. Я думаю, это проблема геометрии, и, похоже, я не могу понять, как ее решить.Помогите с проблемой геометрии - понятия не имею
Здесь:
Существует двор, в котором есть волки и овцы. Во дворе есть также блоки, которые не позволяют пройти. Волки представлены «w» и овцами с «s», а блоки - с «#», а пространство, в котором каждый может двигаться, - это «.». , Таким образом, возможный ввод будет выглядеть так:
2 цифры над двором - это строки x столбцов.
Как вы можете видеть, этим могут быть сформированы участки разного вида во дворе. Вот два сектора:
####
#.w#
####
#s.#
В первом есть волк, а во второй - овца. Поскольку они размещены в двух разных секторах (т. Е. Волк не может добраться до овец), он не может его съесть. Если бы они были в одном секторе, волк съел бы овец.
Мой вопрос для вас заключается в следующем: учитывая входные данные, подобные приведенным выше, как я должен рассчитать, сколько овец выживет? Как я могу представить «двор» в C++? Как должен выглядеть алгоритм? Существуют ли какие-либо материалы для понимания подобных проблем и проблем?
Любая помощь приветствуется. Заранее спасибо.
Я просил ответить ниже, но я должен сказать, что если такая проблема не кричит «ГРАФ» на вас, у вас есть много подготовки, чтобы быть готовой к любому серьезному соревнованию по программированию. – DVK
Я согласен с DVK. Я только что вернулся из финала ICPC в мире, и если бы эта проблема была там, это было бы решено примерно через 4 минуты. Я не хочу тебя отговаривать, но просто предупредите, что впереди у вас много тренировок. –
Я бы сказал, что любой, кто сразу же думает, что «ГРАФ» любит математику над сложными решениями. Для меня это кричит наводнение. – phkahler