
挺简单的,注意sum的类型为long long ,不然结果会错。
#include <stdio.h>
using namespace std;
#define MIN(a,b) (a<b)?a:b
#define INF 100010
int main()
{
int t,mx,my,n,x,y,min;
long long sum;
scanf("%d",&t);
while(t--){
scanf("%d %d %d",&mx,&my,&n);
sum=0;
for(int i=0;i<n;i++){
scanf("%d %d",&x,&y);
min=INF;
min=MIN(min,x);
min=MIN(min,(mx-x));
min=MIN(min,y);
min=MIN(min,(my-y));
sum+=min;
}
printf("%lld\n",sum);
}
return 0;
}

本文介绍了一个使用C语言编写的程序,该程序计算给定点集合到矩形边界上的最小距离之和。通过输入矩形的尺寸和点的坐标,程序能够有效地计算出每个点到矩形四个边界的最短距离,并将这些距离加总。
1573

被折叠的 条评论
为什么被折叠?



