test/cpv_local/geo2d/coverage_rect.min_area.bzoj1185.cpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // competitive-verifier: LOCALCASE test/cpv_local/_data/bzoj/1185 | ||
| 2 | |||
| 3 | #include "../../../src/geo2d/rotcal/coverage_rect/lib.hpp" | ||
| 4 | |||
| 5 | using namespace tifa_libs; | ||
| 6 | using std::cin, std::cout; | ||
| 7 | using data_t = f64; | ||
| 8 | using Polygon2 = polygon<data_t>; | ||
| 9 | using ConvexHull2 = cvh<data_t>; | ||
| 10 | |||
| 11 | 10 | int main() { | |
| 12 |
1/2✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
|
10 | cout << std::fixed << std::setprecision(5); |
| 13 | |||
| 14 | u32 n; | ||
| 15 |
1/2✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
|
10 | cin >> n; |
| 16 | 10 | ConvexHull2 cvh(n); | |
| 17 | 10 | cin >> cvh; | |
| 18 | 10 | Polygon2 rect = coverage_rect<CVHRECT::min_area, data_t>(cvh.init()); | |
| 19 |
2/4✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
|
10 | cout << rect.area() << '\n'; |
| 20 | 10 | u32 start = 0; | |
| 21 |
2/2✓ Branch 0 taken 40 times.
✓ Branch 1 taken 10 times.
|
50 | flt_ (u32, i, 0, 4) { |
| 22 |
2/2✓ Branch 2 taken 11 times.
✓ Branch 3 taken 29 times.
|
40 | if (is_zero(rect[i].x)) rect[i].x = 0; |
| 23 |
2/2✓ Branch 2 taken 11 times.
✓ Branch 3 taken 29 times.
|
40 | if (is_zero(rect[i].y)) rect[i].y = 0; |
| 24 | } | ||
| 25 |
2/2✓ Branch 0 taken 40 times.
✓ Branch 1 taken 10 times.
|
50 | flt_ (u32, i, 0, 4) |
| 26 |
7/8✓ Branch 3 taken 34 times.
✓ Branch 4 taken 6 times.
✓ Branch 8 taken 11 times.
✓ Branch 9 taken 23 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 11 times.
✓ Branch 15 taken 6 times.
✓ Branch 16 taken 34 times.
|
40 | if (is_lt(rect[i].y, rect[start].y) || (is_eq(rect[i].y, rect[start].y) && is_lt(rect[i].x, rect[start].x))) start = i; |
| 27 |
3/4✓ Branch 3 taken 34 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 34 times.
✓ Branch 6 taken 10 times.
|
44 | for (u32 i = start; i < 4; ++i) cout << rect[i] << '\n'; |
| 28 |
3/4✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6 times.
✓ Branch 6 taken 10 times.
|
16 | for (u32 i = 0; i < start; ++i) cout << rect[i] << '\n'; |
| 29 | 10 | } | |
| 30 |