关注
所以代码只通过了例子,不保证代码能ac #include <iostream>
#include <cmath>
using namespace std;
int dis(int mid_x, int mid_y, int x[], int y[],int start,int end) {
int step = 0;
for (int i=start;i<end;i++){
step += abs(mid_x - x[i]) + abs(mid_y - y[i]);
}
return step;
};
int get_step(int x[], int y[],int start,int end){
int min_x = 1000;
int max_x = 0;
int min_y = 1000;
int max_y = 0;
for (int i=start;i<end;i++){
max_x = max(x[i],max_x);
min_x = min(x[i],min_x);
max_y = max(y[i],max_y);
min_y = min(y[i],min_y);
}
int mid_x = (min_x + max_x)/2;
int mid_y = (min_y + max_y)/2;
int last_mid_x = mid_x+1;
int last_mid_y = mid_y+1;
int min_step=10000;
while(max_x-min_x>=1){
while (max_y-min_y>=1){
if (dis(mid_x,mid_y,x,y,start,end)>dis(mid_x,max_y,x,y,start,end)){
min_y = mid_y;
}else{
max_y = mid_y;
}
min_step = min(dis(mid_x,mid_y,x,y,start,end),dis(mid_x,max_y,x,y,start,end));
last_mid_y = mid_y;
if (last_mid_y==(min_y + max_y)/2){
break;
}
mid_y = (min_y + max_y)/2;
};
if(dis(mid_x,mid_y,x,y,start,end) > dis(max_x,mid_y,x,y,start,end))
min_x = mid_x;
else
max_x = mid_x;
min_step = min(dis(mid_x,mid_y,x,y,start,end) , dis(max_x,mid_y,x,y,start,end));
last_mid_x = mid_x;
if (last_mid_x==(min_x + max_x)/2){
break;
}
mid_x = (min_x + max_x)/2;
}
return min_step;
}
void get_steps(int x[], int y[],int n) {
cout<<0<<' ';
for (int i=2;i<n;i++){
int min_step = 1000;
for(int j=0;j<n-i;j++){
min_step = min(min_step,get_step(x,y,j,j+i));
}
cout<<min_step<<' ';
}
cout<<get_step(x,y,0,n)<<endl;
};
int main() {
int n;
cin >> n;
int x[n], y[n];
for (int j = 0; j < n; j++) {
cin >> x[j];
}
for (int j = 0; j < n; j++) {
cin >> y[j];
}
get_steps(x,y,n);
return 0;
}
查看原帖
点赞 7
相关推荐
10-05 22:49
河北农业大学 算法工程师 投票
牛客43939037...:只有三个月实习大厂llm比较难,搜广推学历够了加上路线比较明确网上资料多可以试试,不过llm这块的知识还得学,现在搜广推也在往这边靠 点赞 评论 收藏
分享
10-14 17:25
中央民族大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你实习是赚钱了还是亏钱了? #
6041次浏览 55人参与
# 找工作八股要背到什么程度? #
4611次浏览 88人参与
# 京东开奖 #
433659次浏览 2460人参与
# 秋招开始捡漏了吗 #
34951次浏览 245人参与
# 我在牛爱网找对象 #
202921次浏览 1412人参与
# 用一句话形容你的团队氛围 #
3694次浏览 50人参与
# 入职以后才知道的校招谎言 #
101980次浏览 647人参与
# 你找工作是从容有余 or 匆忙滚爬? #
3373次浏览 44人参与
# 上班后,才发现大学__白学了 #
5971次浏览 40人参与
# 同bg的你秋招战况如何? #
161199次浏览 935人参与
# 今年秋招还有金九银十吗 #
25981次浏览 238人参与
# 今年秋招是回暖还是遇冷 #
3605次浏览 30人参与
# 五一之后,实习真的很难找吗? #
90273次浏览 561人参与
# 规定下班时间vs实际下班时间 #
57120次浏览 332人参与
# 学历对求职的影响 #
552626次浏览 3924人参与
# 辞职后的日常 #
16765次浏览 84人参与
# 你喜欢工作还是上学 #
79407次浏览 865人参与
# 打工人的精神状态 #
103764次浏览 1321人参与
# Offer比较,求稳定还是求发展 #
65456次浏览 272人参与
# 分享一个让你热爱工作的瞬间 #
44529次浏览 395人参与
# 一人一个landing小技巧 #
128986次浏览 1467人参与
查看6道真题和解析