{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"以其高度创新的产品而闻名,默克绝对是工业间谍的一个好目标。为了保护全新的研发设施,该公司安装了最新的监控机器人系统,这些机器人在设施周围 patrolling。这些机器人沿着设施的墙壁移动,并将可疑观察报告给中央安保办公室。系统中唯一的缺陷是竞争对手的特工发现的,即这些机器人无线电传输的路径是未加密的。特工无法进一步了解情况,想要利用这些信息计算出新设施所占区域的确切大小。众所周知,建筑的所有角落都位于矩形网格上,只使用直线墙壁。图1显示了机器人在示例区域周围的路径。\u003c/br\u003e\u003ccenter\u003e\u003c/br\u003e\u003cimg src\u003d\"CDN_BASE_URL/255a682b24aee05ec90bb3267d0b1ad4?v\u003d1699923455\"\u003e\u003c/br\u003e图1:示例区域。\u003c/center\u003e\u003c/br\u003e你被聘请编写一个程序,根据机器人沿墙壁移动的路径计算新设施所占区域的面积。你可以假设该区域是一个具有矩形网格上角落的多边形。然而,你的老板坚持要你使用他在某处找到的一个公式。该公式关联了多边形内部网格点数 I,边缘上网格点数 E,以及多边形的总面积 A。不幸的是,你已经丢失了他为你写下的那个简单公式的纸张,所以你的第一个任务是自己找到该公式。\u003c/br\u003e"}},{"title":"输入","value":{"format":"HTML","content":"第一行包含场景数。\u003c/br\u003e对于每个场景,第一行包含机器人移动次数 m,3 \u003c\u003d m \u003c 100。接下来的 m 行包含整数对 \"dx dy\",用单个空格分隔,满足 -100 \u003c\u003d dx, dy \u003c\u003d 100 且 (dx, dy) !\u003d (0, 0)。这样的一对意味着机器人向右移动 dx 单位,向上移动 dy 单位(相对于当前位置)。你可以假设机器人移动的曲线是封闭的,并且除了起点和终点外,不会相交或甚至接触到自身。机器人逆时针绕建筑物移动,因此要计算的区域位于曲线的左侧。预先已知整个多边形将适合到网格上边长为 100 单位的正方形中。\u003c/br\u003e"}},{"title":"输出","value":{"format":"HTML","content":"每个场景的输出以一行开头,包含 \"Scenario #i:\",其中 i 是从 1 开始的场景编号。然后打印一行,包含 I、E 和 A,将 A 四舍五入到小数点后一位。用两个单个空格分隔这三个数字。场景的输出以一个空行结束。"}},{"title":"样例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2\r\n4\r\n1 0\r\n0 1\r\n-1 0\r\n0 -1\r\n7\r\n5 0\r\n1 3\r\n-2 2\r\n-1 0\r\n0 -3\r\n-3 1\r\n0 -3\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eScenario #1:\r\n0 4 1.0\r\n\r\nScenario #2:\r\n12 16 19.0\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}