1006—rect
题目:
思路:
简单题,对于每个点,往上下左右找最短的垂线段,累加即可得到答案。
注意:答案用超过int范围,应该用 long long 保存(我因此wa的一发)
代码:
#include<cstdio> #include<algorithm> using namespace std; int main() { int t; scanf("%d ",&t); while(t--){ int mx, my, n; scanf("%d %d %d", &mx, &my, &n); long long ans = 0; for(int i=1;i<=n;i++){ int x,y; scanf("%d%d", &x, &y); ans += (long long)min( min(x,mx-x),min(y,my-y) ); ///最短的垂线线段(往四个方向) } printf("%I64d ", ans); } return 0; }