1 条题解
-
-1梦萦枯野 LV 8 @ 2019-01-01 15:06:55
一头牛到某一格的最小距离是固定的。它可以朝目标一直走斜线,再走直线。
如果它的坐标是x,y,目标的坐标是X,Y,那么最小距离是max(abs(X-x),abs(Y-y))。
对每一头牛,计算出它到每一格的最小距离。
找出每一格的距离总和的最小值。#include<iostream> #include<stdlib.h> #include<math.h> #include<vector> using namespace std; const int INF=0x7fffffff; int N,R,C; /*count of steps to grid*/ vector<vector<int> > map; int main() { cin>>N>>R>>C; map.resize(R+1); for (int i=1;i<=R;i++) map[i]=vector<int>(C+1,0); for (int i=1;i<=N;i++) { int x,y;cin>>x>>y; for (int j=1;j<=R;j++) for (int k=1;k<=C;k++) map[j][k]+=max(abs(j-x),abs(k-y)); } int ans=INF; for (int i=1;i<=R;i++) for (int j=1;j<=C;j++) ans=min(ans,map[i][j]); cout<<ans<<endl; return 0; }
- 1
信息
- 难度
- 3
- 分类
- (无)
- 标签
- (无)
- 递交数
- 40
- 已通过
- 23
- 通过率
- 58%
- 被复制
- 3
- 上传者