QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 2048 MB Total points: 100

#8682. Wodny świat

Statistics

W ostatnich latach odkryto tysiące planet poza Układem Słonecznym. Ważnym czynnikiem decydującym o możliwości podtrzymania życia jest obecność wody w stanie ciekłym. Wykrywanie wody na odległych planetach nie jest łatwe. W przypadku obracających się planet pomóc może zupełnie nowa technologia wykorzystująca relatywistyczną spektroskopię kwantowo spolaryzowaną. Działa ona następująco (jest to opis uproszczony, ponieważ tylko trzy osoby na naszej planecie rozumieją, jak działa naprawdę).

Załóżmy, że teleskop pokazuje planetę tak, iż jej oś obrotu jest pionowa, a równik poziomy. Analizowana jest tylko pionowa linia na środku obrazu (linia pokrywająca się z osią obrotu), ponieważ zapewnia najwyższą rozdzielczość powierzchni planety.

Analiza przebiega w krokach po $d$ stopni. W jednym kroku dane są agregowane podczas obrotu planety o $d$ stopni, więc każdy krok dostarcza informacji o wycinku powierzchni planety o szerokości $d$ stopni. Obraz dzieli się na $n$ odcinków o jednakowej wysokości, analizowanych osobno. Wycinek o szerokości $d$ stopni jest więc podzielony na $n$ obszarów $A_1,\ldots,A_n$. Dla każdego obszaru $A_i$ analiza obrazu daje liczbę określającą procent $A_i$ pokryty wodą. Obszary $A_i$ dla jednego kroku wyróżniono na rysunku po prawej.

problem_8682_2139e876b51353495856aca74a78657b.png

Możesz założyć, że powierzchnia planety jest sferą. Oznacza to, że każdy obszar $A_2,\ldots,A_{n-1}$ jest czworokątem sferycznym: ma cztery wierzchołki, dwa boki równoległe do równika (czyli leżące w płaszczyznach równoległych do płaszczyzny równika) i dwa boki leżące na kołach wielkich przechodzących przez bieguny planety, przy czym koła te są oddalone kątowo o $d$ stopni. Przy każdym biegunie dwa z czterech wierzchołków zlewają się z biegunem, więc $A_1$ i $A_n$ są trójkątami sferycznymi z tylko jednym bokiem równoległym do równika. Z powodu krzywizny powierzchni boki równoległe do równika są tym dłuższe, im bliżej równika leżą, zaś boki na kołach wielkich są tym dłuższe, im bliżej biegunów leżą.

Powyższy proces powtarza się dla kolejnych $d$ stopni obrotu i tak dalej, łącznie $m$ razy, aż pokryta zostanie cała powierzchnia planety (czyli $md=360$ stopni). Twoim zadaniem jest obliczyć procent powierzchni planety pokryty wodą na podstawie podanych danych.

Wejście

Pierwszy wiersz wejścia zawiera dwie liczby całkowite $n$ i $m$ ($2 \le n,m \le 1000$). Każdy z następnych $n$ wierszy zawiera $m$ liczb całkowitych $a_{i,j}$ ($0 \le a_{i,j} \le 100$ dla $1 \le i \le n$ i $1 \le j \le m$). Każda kolumna tej macierzy opisuje pomiary dla jednego kroku, czyli obrotu o $d$ stopni. Liczba $a_{i,j}$ oznacza procent obszaru $A_i$ pokryty wodą w $j$-tym kroku.

Wyjście

Wypisz procent powierzchni planety pokryty wodą. Błąd bezwzględny odpowiedzi powinien wynosić co najwyżej $10^{-6}$.

Przykład

Wejście 1

3 7
63 61 55 54 77 87 89
73 60 38 5 16 56 91
75 43 11 3 16 20 95

Wyjście 1

51.809523810

Wejście 2

4 3
10 10 10
10 10 10
10 10 10
10 10 10

Wyjście 2

10.000000000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.