一道编程题,最好用C++语言实现,谢谢大神

 我来答
七琪淇
2019-10-18 · TA获得超过110个赞
知道小有建树答主
回答量:108
采纳率:73%
帮助的人:40.8万
展开全部

可以用next_permutation函数实现全排列就比较简单啦...我电脑上粗写试了一下可以,你看一下,有啥看不懂再讨论哈。

#include<iostream>

#include<math.h>

#include<algorithm>

using namespace std;


int maxScore(int* arr, int len) {

int max = INTMAX_MIN;

int sum = 0;

sort(arr, arr + len);

do

{

for (int i = 0; i < len - 1; i++) {

sum = sum + arr[i] ^ arr[i + 1];

}

if (max < sum)

max = sum;

sum = 0;

} while (next_permutation(arr, arr + len));

return max;

}

int main() {

int count;

cin >> count;

int* arr = new int[count];

for (int i = 0; i < count; ++i) {

cin >> arr[i];

}

cout << maxScore(arr, count);

return 0;

}

更多追问追答
追问
能麻烦您贴一下包含所有代码的图片吗,谢谢您
追答

你是指这个嘛?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式