Run Time: 0.000
Ranking (as of 2016-02-03): 31 out of 667
Language: C++
/*
UVa 10060 - A hole to catch a man
To build using Visual Studio 2012:
cl -EHsc -O2 UVa_10060_A_hole_to_catch_a_man.cpp
*/
#include <cstdio>
#include <cmath>
const double pi = 2.0 * acos(0.0);
double get_sheet_volume()
{
double T, x0, y0;
scanf("%lf %lf %lf", &T, &x0, &y0);
double x = x0, y = y0, area = 0.0;
while (true) {
double nx, ny;
scanf("%lf %lf", &nx, &ny);
area += x * ny - nx * y;
x = nx, y = ny;
if (x == x0 && y == y0)
break;
}
return T * fabs(area) / 2.0;
}
int main()
{
while (true) {
int N;
scanf("%d", &N);
if (!N)
break;
double sv = 0.0;
while (N--)
sv += get_sheet_volume();
double R, T;
scanf("%lf %lf", &R, &T);
double cv = pi * R * R * T;
printf("%d\n", static_cast<int>(sv / cv));
}
return 0;
}
No comments:
Post a Comment