本文主要是介绍南邮23考研复试上机NOJ官方题库 [1018华强种瓜] C语言实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 、题目链接
华强种瓜
二、题目截图
三、 代码答案:(c语言实现)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>typedef struct point{int x;int y;
};float distance(int x1, int y1, int x2, int y2) {float dis = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));return dis;
}int mark[200][200];
int main() {int n, k, r;//n为边长,k为洒水器数量,r为洒水器工作半径scanf("%d %d %d", &n, &k, &r);struct point* points = (struct point*)malloc(sizeof(struct point) * k);for (int i = 0; i < k; i++) {scanf("%d %d", &points[i].x, &points[i].y);}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {for (int p = 0; p < k; p++) {if (distance(i, j, points[p].x, points[p].y) <= r) {mark[i][j] = 1;break;}}}}int result = 0;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (mark[i][j] == 1) result++;}}printf("%d", result);return 0;
}
这篇关于南邮23考研复试上机NOJ官方题库 [1018华强种瓜] C语言实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!