2 条题解
-
0
此题有点难理解,其实就是一个 的格点阵,就像这样(按原题数据 画的):
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·然后每个格点都要用到,使原图成为一个 多边形,就像这样(只列举一种,还有很多):
·———·———·———·———·———· | | · ·———·———·———·———| | | · ·———·———·———·———· | | · ·———·———·———·———| | | · ·———·———·———·———· | | · ·———·———·———·———| //怎么这么像“E”啊?qwq接着我们就可以使用皮克定理(Pick 定理)来写代码了,可以参照此处。
AC code:
#include <bits/stdc++.h> using namespace std; int main() { int T, n, m; cin >> T; for (int i = 0; i < T; i++) { cin >> n >> m; cout << n * m / 2 - 1 << "." << n * m % 2 * 5 << "00" << endl; } return 0; } //总体模仿035966_L3的代码 -
0
Pick 定理:对于一张每个小方格面积为 的矩形网格,设某个简单多边形内部有 个格点,边上有 个格点,面积为 。若这个多边形的所有顶点都是格点,则有 。
注意到所有这样的多边形内部没有格点,边上有 个格点,故根据 Pick 定理可知其面积一定为 。
#include <bits/stdc++.h> using namespace std; int main() { int T, n, m; cin >> T; while (T--) { cin >> n >> m; cout << n * m / 2 - 1 << '.' << n * m % 2 * 5 << "00\n"; } return 0; }
- 1
信息
- ID
- 109
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 4
- 已通过
- 3
- 上传者