Temat mam nadzieję, że nadal aktualny. Weekend, chwila wytchnienia od matur, trzeba nadrobić zaległości.
Ciężko jest doprecyzować na tyle swoją wypowiedź, aby każdy człowiek interpretował ją w ścisłym związku logicznym z autorem. Dlatego to, że się czepiasz jest normalne i masz do tego prawo, a dla mnie jest to znak, że jednak coś jest nie tak i należy to poprawić.
A więc postaram się inaczej wyjaśnić kwestię współpunktowości:
Rozważmy różne przypadki
1) Pole jest większe od zera:
Istnienie takiego pola jest uwarunkowane minimum 3 różnymi punktami(niewspółliniowymi)
W takim przypadku zakładamy, że współpunktowość jest dowolna. Co należy rozumieć jako może występować w dowolnym z punktów należących do otoczki oraz w dowolnej ilości punktów, gdzie górną granicą jest max_ilość punktów, które mogą pojawiać się na wejściu.
Przykład (1)
8
1 1
1 1
2 1
2 1
2 2
2 2
2 2
2 2
Przykład(2)
3
1 1
2 1
2 2
Przykład(3)
4
1 1
1 2
2 1
2 2
Przykład(4)
7
1 1
3 1
3 3
2 2
2 2
3 3
1 1
jak widzimy w przykładzie 4, współliniowość występuję wraz z współpunktowością, ale nadal zachowujemy pole > 0.
2) Pole jest równe zero.
Przyjmijmy jako n liczbę punktów pojawiających się na wejściu
a) n=1 - przypadek występuje. Obwód równy zero.
b) n!=1 i n punktów leży w tym samym miejscu - nie występuje
c) n!=1 i n-k punktów leży w tym samym miejscu oraz k punktów jest również współpunktowa ale punkt ten jest inny od punktu na którym znajduje się n-k punktów. Zakładając, że n-k>0. Przypadek nie występuje w wersji spoja.pl, został wyłączony po Fraktalu.
d) n!=1 i różnych punktów > 2 pod warunkiem, że wszystkie są współliniowe. Przypadek nie występuje.
Brzmi to chyba jeszcze gorzej niż tamta wersja, ale starałem się, jeśli jakieś przypadki Cię jeszcze nurtują to pytaj śmiało
Co do tego forum to jest to trochę śmieszne, aby wysyłać post przez 30-40 minut, ale cóż, mam nadzieję, że się to zmieni w najbliższym czasie.
Może i nie mam doświadczenia w układaniu zadań, to prawda, lecz wydaje mi się, że tak strasznie ułożona treść nie jest. Przed wstawieniem na konkurs, było ono rozwiązywane przez inną osobą w celu sprawdzenia poprawności. Osoba ta poradziła sobie z zadaniem bez większych trudności. Celowo zdanie mówiące o zaokrąglaniu każdej odległości w obwodzie było wyszczególnione czerwonym kolorem. Większość osób poleciało schematycznym kodem otoczki i potem próbowali "coś" zmienić w celu liczenia tych zaokrągleń, psując tym samym kod w innych miejscach. Zadanie miało na celu wymusić głębsze poznanie algorytmu, a nie skopiowanie go z jakiejś strony i przerobienie pod Input zadania.
Ad.1
Wyjaśniłem wyżej.
Ad.2
Nie, nie trzeba usuwać tych punktów, ale moim zdaniem warto to zrobić, gdyż znacznie ułatwia dalsze operacje, toteż i tę informację zamieściłem na fp Fraktala. Ponadto podczas przeglądania kodów natknąłem się nawet na błąd liczenia n-krotnie jednej odległości, gdy n punktów było współpunktowych w danym odcinku.