题解 | #堆棋子#
堆棋子
http://www.nowcoder.com/practice/27f3672f17f94a289f3de86b69f8a25b
include
include
using namespace std;
int n , x[55] , y[55] , ans[55];
void helper();
int main(){
cin>>n;
for(int i=0;i<n;i++) cin>>x[i];
for(int i=0;i<n;i++) cin>>y[i];
for(int i=0;i<n;i++) ans[i] = 10000000000;
helper();
for(int i=0;i<n;i++){
cout<<ans[i];
if(i<n-1){
cout<<" ";
}
}
return 0;}
void helper(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
int dis[n],tmp=0;
for(int k=0;k<n;k++) dis[k] = abs(x[i]-x[k]) + abs(y[j]-y[k]);
sort(dis,dis+n);
for(int k=0;k<n;k++){
tmp+=dis[k];
ans[k] = ans[k]>tmp ? tmp : ans[k];
}
}
}
}
查看17道真题和解析