#include#include#include#include double distance(int x1, int y1, int x2, int y2) {\n return std::sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n}\ndouble triangleArea(int x1, int y1, int x2, int y2, int x3, int y3) {\n double area = 0.5 * std::abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2));\n return area;\n}\ndouble totalTriangleArea(const std::vector<std::pair<int, int>>& points) {\n int n = points.size();\n double totalArea = 0.0;\n for (int i = 0; i < n - 2; i++) {\n int x1 = points[i].first;\n int y1 = points[i].second;\n for (int j = i + 1; j < n - 1; j++) {\n int x2 = points[j].first;\n int y2 = points[j].second;\n for (int k = j + 1; k < n; k++) {\n int x3 = points[k].first;\n int y3 = points[k].second;\n double area = triangleArea(x1, y1, x2, y2, x3, y3);\n totalArea += area;\n }\n }\n }\n return totalArea;\n}\nint main() {\n int n;\n std::cin >> n;\n std::vector<std::pair<int, int>> points(n);\n for (int i = 0; i < n; i++) {\n std::cin >> points[i].first >> points[i].second;\n }\n double result = totalTriangleArea(points);\n std::cout << std::fixed << std::setprecision(1) << result << '\n';\n return 0;\n}

C++ 计算所有三角形面积和的优化代码

原文地址: https://www.cveoy.top/t/topic/pPHU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录