方伯伯浇水2 - C++ 代码实现 | 玉米田品质计算
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int m, x, y, r, sum = 0;
double avg;
cin >> m;
// 存储玉米田信息,初始品质都为1
int corn[200001][200001] = {0};
for (int i = -100000; i <= 100000; i++) {
for (int j = -100000; j <= 100000; j++) {
corn[i + 100000][j + 100000] = 1;
}
}
// 模拟浇水
for (int i = 0; i < m; i++) {
cin >> x >> y >> r;
for (int j = x - r; j <= x + r; j++) {
for (int k = y - r; k <= y + r; k++) {
// 判断点是否在圆内
if (pow(j - x, 2) + pow(k - y, 2) < pow(r, 2)) {
corn[j + 100000][k + 100000]++;
}
}
}
}
// 计算抽样检测的10株玉米的品质
for (int i = 0; i < 10; i++) {
cin >> x >> y;
sum += corn[x + 100000][y + 100000];
}
// 计算平均品质
avg = (double)sum / 10;
printf("%.2lf", avg);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/jCXD 著作权归作者所有。请勿转载和采集!