Решение задачи Шестиугольник Геральда с Codeforces
С пояснением   Просмотров: 60
Геральду на день рождения подарили очень любопытный шестиугольник. Именинник выяснил, что все углы шестиугольника равны . Затем он измерил длины его сторон и обнаружил, что каждая из них равна целому числу сантиметров. На этом свойства самого шестиугольника закончились и Геральд решил на нём порисовать.
Он нарисовал несколько отрезков, параллельных сторонам этого шестиугольника, которые разбили шестиугольник на правильные треугольники со стороной в 1 сантиметр. Теперь Геральду интересно, сколько у него получилось треугольников. Но их так много, что Геральд всё время сбивается со счёта. Помогите имениннику посчитать треугольники.
Он нарисовал несколько отрезков, параллельных сторонам этого шестиугольника, которые разбили шестиугольник на правильные треугольники со стороной в 1 сантиметр. Теперь Геральду интересно, сколько у него получилось треугольников. Но их так много, что Геральд всё время сбивается со счёта. Помогите имениннику посчитать треугольники.
Пояснение к задаче
Сперва заметим, что если правильный треугольник с целой стороной k отрезками, параллельными сторонам, разделить на правильные треугольники со стороной 1 (тут появляется картинка), то площадь большого треугольника будет в k 2 раз больше площадей маленьких треугольничков и, следовательно, треугольник окажется разделён ровно на k 2 единичных треугольничков.
Далее, заметим, что если к сторонам a 1, a 3 и a 5 шестиугольника пририсовать по правильному треугольнику со сторонами a 1, a 3 и a 5 соответственно (и тут появляется ещё одна картинка), то получится большой правильный треугольник со стороной a 1 + a 2 + a 3. Таким образом, площадь исходного шестиугольника равна (a 1 + a 2 + a 3)2 - a 1 2 - a 3 2 - a 5 2.