小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.-笔试面试资料
这是qklbishe.com第6743 篇笔试面试资料
提供答案分析,通过本文《小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int> x(N),y(N),res(N,1e9);
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)
for(int j = 0;j < N;++j)
{
int sum = 0;
vector<int> t(N);
for(int k = 0;k < N;++k) t[k] = abs(x[i] – x[k]) + abs(y[j] – y[k]);
sort(t.begin(),t.end());
for(int k = 0;k < N;++k)
{
sum += t[k];
res[k] = min(res[k],sum);
}
}
for(int i = 0;i < N – 1;++i) cout << res[i] << " ";
cout << res[N – 1] << endl;
return 0;
}
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int> x(N),y(N),res(N,1e9);
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)
for(int j = 0;j < N;++j)
{
int sum = 0;
vector<int> t(N);
for(int k = 0;k < N;++k) t[k] = abs(x[i] – x[k]) + abs(y[j] – y[k]);
sort(t.begin(),t.end());
for(int k = 0;k < N;++k)
{
sum += t[k];
res[k] = min(res[k],sum);
}
}
for(int i = 0;i < N – 1;++i) cout << res[i] << " ";
cout << res[N – 1] << endl;
return 0;
}
今天 09:56:13 回复(0)
文章部分来自互联网,侵权联系删除
www.qklbishe.com
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.-笔试面试资料
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.-笔试面试资料