Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_16_14 - Kostka |
Bez owijania w bawełnę. Policz pole cienia, który rzuca kostka (sześcian) zawieszona w powietrzu. Kostka może być dowolnie obrócona w przestrzeni.
Zakładamy, że jest tylko jedno źródło światła, które znajduje się dokładnie nad kostką i które jest na tyle daleko, że promienie padają równolegle z góry.
Wejście
Na początku znajduje się liczba testów k (k < 8000).
Każdy zestaw testowy to opis kostki: l - długość boku (l <= 100) i 8 wierzchołków.
Każdy wierzchołek to współrzędne x, y, z podane z dokładnością do 12 cyfr po przecinku. Wartości są tak dobrane, że środek kostki zawsze znajduje się w punkcie (0, 0, 0).
Punkty podane są w następujący sposób: pierwsze cztery punkty ułożone są na jednej ściance i podane są w kolejności odwrotnie do kierunku ruch wskazówek zegara. Kolejne cztery punkty opisują przeciwległą ściankę i podane są tak, że piąty punkt jest połączony krawędzią z punktem pierwszym, szósty z drugim, siódmy z trzecim a ósmy z czwartym (patrz pierwszy przykład, gdzie kostka nie jest obrócona).
Wyjście
Dla każdego zestawu testowego należy podać pole cienia z dokładnością do 4 miejsc po przecinku.
Przykład
Wejście:
2
4
2 -2 2
2 2 2
-2 2 2
-2 -2 2
2 -2 -2
2 2 -2
-2 2 -2
-2 -2 -2
98
-72.1025947181 -26.8841460409 35.7974653652
-66.1480231657 27.4954453758 -45.5130697147
5.41925270925 -30.458591927 -79.0310437606
-0.535318843111 -84.8381833437 2.27949131928
-5.41925270925 30.458591927 79.0310437606
0.535318843111 84.8381833437 -2.27949131928
72.1025947181 26.8841460409 -35.7974653652
66.1480231657 -27.4954453758 45.5130697147
Wyjście:
16.0000
15490.0846
Dodane przez: | Grzegorz Spryszyński |
Data dodania: | 2022-12-16 |
Limit czasu wykonania programu: | 1s-5s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |