V Olimpiada Informatyczna 1995/96
|
Zadanie: WIE
|
Autor: Krzysztof Diks
|
Zawody I stopnia |
Plik źródłowy: | WIE.??? (np. pas, c, cpp) |
Plik wykonywalny: | WIE.exe |
Plik wejściowy: | WIE.in |
Plik wyjściowy: | WIE.out |
Powiemy, że dwa trójkąty przecinają się, jeśli ich wnętrza mają co najmniej jeden wspólny punkt. Wielokąt jest wypukły, jeśli każdy odcinek łączący dowolne dwa punkty tego wielokąta jest w nim zawarty. Trójkątem elementarnym w wielokącie wypukłym nazywamy każdy trójkąt, którego wierzchołki są wierzchołkami tego wielokąta. Triangulacją wielokąta wypukłego nazywamy każdy zbiór elementarnych trójkątów w tym wielokącie, w którym żadne dwa trójkąty nie przecinają się, a wszystkie razem pokrywają cały wielokąt. Dane są wielokąt i jego triangulacja. Jaka jest największa liczba trójkątów w tej triangulacji, które może przeciąć jeden elementarny trójkąt w tym wielokącie?
Przykład
Rozważmy następującą triangulację:
Zadanie
Napisz program, który:
Wejście
Pierwszy wiersz pliku WIE.IN zawiera liczbę n, 3<=n<=1000. Jest to liczba
wierzchołków wielokąta.
Wierzchołki wielokąta są ponumerowane kolejno 0,1,...,n-1, zgodnie z ruchem
wskazówek zegara. Kolejne n-2 wiersze zawierają opisy trójkątów w
triangulacji. W wierszu i+1, 1<=i<=n-2, zapisane są trzy liczby
całkowite a, b, c, oddzielone pojedynczymi odstępami.
Są to numery wierzchołków i-tego trójkąta w triangulacji.
Wyjście
W pierwszym i jedynym wierszu pliku WIE.OUT należy zapisać jedyną liczbę
całkowitą - największą liczbę trójkątów w triangulacji, które przecina jeden
elementarny trójkąt w wielokącie wejściowym.
Przykład
Dla pliku wejściowego WIE.IN:
6 0 1 2 2 4 3 0 5 4 2 4 0poprawnym rozwiązaniem jest plik tekstowy WIE.OUT:
4
Twój program powinien szukać pliku WIE.IN w katalogu bieżącym i tworzyć plik WIE.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę WIE.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku WIE.EXE