eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Змійка

Змійка

"Змійка" - це аркадна комп'ютерна гра, яка ведеться на квадратному полі \textbf{N}x\textbf{N}, розбитому на квадрати \textbf{1}x\textbf{1}. Рядки поля пронумеровано від \textbf{1} до \textbf{N} зверху донизу, а стовбці - від \textbf{1} до \textbf{N} зліва праворуч. Кожній клітинці поля можна поставити у відповідність її координати (\textbf{r}, \textbf{c}), де \textbf{r} - це номер рядка, у якому вона знаходиться, а \textbf{c} - номер стовбця. У довільний момент гри змійка займає деяку послідовність квадратів поля таку, що два сусідніх у цій послідовності квадрати мають спільну сторону. У першому квадраті послідовності заходиться хвіст змійки, а у останньому - її голова. На початку і хвіст, і голова змійки знаходяться у клітинці з координатами (\textbf{1}, \textbf{1}), а у кожній з інших клітинок є або ягідка, або грибок. За один хід змійка може перемістити голову у одному з \textbf{4}-х напрямків - угору, ліворуч, праворуч, донизу. Якщо сусіднього квадрату у напрямку хода не існує або, якщо у цьому квадраті знаходиться грибок або сама змійка, то вона гине і гра завершується. Якщо ж у цьому квадраті знаходиться ягідка, то змійка з'їдає її і збільшує за рахунок цього свою довжину на один квадрат. Нехай, наприклад, у деякий момент гри змійка розміщена наступним чином: \includegraphics{https://static.e-olymp.com/content/1e/1e45592fcfd9be6d94b6cb9acf10b4e08ee1a71e.jpg} \includegraphics{file:///D:/2010-2011/ttb/%D0%97%D0%BC%D0%B5%D0%B9%D0%BA%D0%B0/statement-23_files/1_itdl.gif} Тоді при ході вверх і вниз змійка гине, так як попаде у клітинку з власним тулубом. При ході праворуч змійка також гине, так як попаде у клітинку з грибком. Єдиний хід, при якому змійка не загине - ліворуч. Після цього ходу вона буде розміщуватись наступним чином: \includegraphics{https://static.e-olymp.com/content/c9/c9303813e8619d64c34f5c014f9886ab41c0c03e.jpg} \includegraphics{file:///D:/2010-2011/ttb/%D0%97%D0%BC%D0%B5%D0%B9%D0%BA%D0%B0/statement-23_files/2_ozno.gif} Мета гравця - керувати змвйкою так, щоб, перед тим як загинути, вона набула якомога більшої довжини. Школяру Васі грати у "Змійку" самому не цікаво, тому він розробив алгоритм керування змійкою. Перший хід, згідно алгоритму Васі, змійка робить праворуч, якщо праворуч від неї немає грибка, і вниз - у іншому випадку (якщо знизу є грибок, то після першого ходу змійка гине). Далі, у довільний момент гри, змійка пам'ятає напрям, у якому вона робила попередній хід, і на наступному ході намагається зробити хід у тому ж напрямку. Якщо це призводить до негайної загибелі, то змійка змінює напрям руху, повертаючись на \textbf{90} градусів за годинниковою стрілкою, і робить хід у новому напрямку (навіть якщо це призводить до її негайної загибелі). Нахай наприклад, поле для гри у "Змійку" на початку виглядає наступним чином: \includegraphics{https://static.e-olymp.com/content/3b/3b0e32d8a743c0a8367473009701dad91da77ffc.jpg} \includegraphics{file:///D:/2010-2011/ttb/%D0%97%D0%BC%D0%B5%D0%B9%D0%BA%D0%B0/statement-23_files/3_ljnq.gif} Тоді змійка, рухаючись за алгоритмом Васі, безпосередньо перед тим, як загинути, розмістиьтся так, як показано на рисунку: \includegraphics{https://static.e-olymp.com/content/58/5859956698baffe0221c3434a6fc53663286d368.jpg} \includegraphics{file:///D:/2010-2011/ttb/%D0%97%D0%BC%D0%B5%D0%B9%D0%BA%D0%B0/statement-23_files/4_jlqx.gif} Вася розуміє, що розроблений ним алгоритм - не оптимальний. Наприклад, на рисунку вище змійка цілком могла б далі піти праворуч і збільшити свою довжину, а, діючи по Васиному алгоритму, вона роюить хід ліворуч і гине. Тим не менше, Васі здається, що його алгоритм - дуже добрий і дозволяє змійці досягнути дуже великої довжини. Допоможіть Васі перевірити цю гіпотезу, написавши програму, яка моделює роботу його алгоритму. Програма отримує на вхід розмір поля \textbf{N} і розміщення всіх грибків, і знаходить, скілько квадратів буде займати змійка безпосередньо перед тем, як загинути, якщо вона буде рухатись за алгоритмом Васі. \InputFile В первой строке задано целое число \textbf{N} (\textbf{2} ≤ \textbf{N} ≤ \textbf{40000}) - размер поля. Во второй - количество грибков \textbf{K} (\textbf{0} ≤ \textbf{K} ≤ \textbf{100}), последующие \textbf{K} строк содержат координаты \textbf{X} грибков, далее следует опять число \textbf{K} и в последних \textbf{K} строках - координаты \textbf{Y} соответствующих грибков. Гарантируется, что никаких два грибка не расположены в одной клетке и в клетке (\textbf{1}, \textbf{1}) нет грибка. \OutputFile Єдине ціле число, рівне кількості квадратів, які займає змійка безпосередньо перед ходом, на якому вона гине, у припущенні, що змійка рухається згідно алгоритму Васі.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
8
5
2
3
4
6
7
5
6
4
5
2
8
Вихідні дані #1
25
Автор Іван Метельський