Sant1:
Ух как тебя корёжит-то!
Повернётся же язык сказать "в классе человек есть метод ходить который может использовать сущность меня"!
Говори по-русски, думай по-русски. Человек скажет не "иду(мною)", но "я.иду()"
Использовать можно те методы, которые определены для данного класса. Они либо определяются в объявлении класса, либо наследуются от предков этого класса. Если у человека как вида нет метода летать, и у приматов (как родительской сущности в классификации видов по Ламарку) нет, и у млекопитающих, и выше - нет - значит, не судьба.
Метод всегда вызывается в связке с экземпляром, метод - это функция, определённая для экземпляра класса, и в списке её аргументов первый - self, то есть экземпляр. Функция, не привязанная к классу, называется просто функцией.
Sant1: методы открыты для любого экземпляра
Да, только звучит как-то не по-русски.
Смотрите, вот пара именованых сущностей: Вася и Петя, принадлежат одному классу - люди.
Им, этим экземплярам, доступны все человечьи методы (так по-русски), например ходить. Если написать Вася.лети(), Вася не поймёт, Вася.иди() - нормально.
Георгий:
В разборе упущен такой, например, вариант: 79899100101 -> 97~98~99~100~101
Чтобы не усложнять жизнь, можно так переделать метод:
не разбиваем всё число на двузначные группы, а выбираем лишь первую - в этом случае 98 - и продолжаем её вправо и влево арифм. прогрессией.
Георгий: Ну давайте попробуем еще раз.
Возьмем для простоты конкретный пример - число 767867
Первый заход - пробуем разбить число на группы из одной цифры и смотрим, не цепочка ли это из возрастающих чисел: 7~6~7~8~6~7 - нет
Второй заход - пробуем разбить число на группы из 2 цифр, тут уже 2 варианта
76~78~67 - нет
7~67~86~7 - на края мы даже не смотрим, серёдка не бьёт
Третий заход - 3 варианта
767~867 - нет
7~678~67 - вутренних противоречий не выявлено (в середке одно число, не с чем сопоставлять)
76~786~7 - вутренних противоречий не выявлено
разбираем подробнее
7~678~67 => хорошо бы (678-1)~678~(678+1)==677~678~679, голова подходит, хвост подходит
76~786~7 => хорошо бы (786-1)~786~(786+1)==785~786~787, ни голова ни хвост не подходят
Всё, надо посчитать индекс вхождения числа(!) 678 и что-то там вычесть.
До 678 встречаются все однозначные числа - 9штук*1цифра, все двузачные (от 10 до 99 - 90штук*2цифры) и (677-99)*3цифры.
E6APB: Хотите поработать руками? Это можно ).
1. Подготовьте данные: побейте каждый полигон на треугольники. Для невыпуклых полигонов надо быть аккуратным.
2. Напишите код для проверки, относится ли точка к треугольнику - это несложно.
3. Создайте вспомогательную стуктуру - кэш по квадратной сетке, в каждой клетке - треугольники, которые на неё попадают.
4. Теперь всё будет летать.