2018科大讯飞实习生C++笔试题目

一、选择题

1.下列哪些方法不可用于循环优化()

A.强度削弱

B.删除归纳变量

C.删除多余运算

D.指令调度

2.下列说法正确的是

A、一种类型当他至少提供了另一种类型的行为,则这种类型是另一种类型的子类型

B、子类型就是指派生类是基类的子类型

C、在共有继承下,派生类就是基类的子类型

D、子类型关系是不可逆的

二、编程题

1。

.2018科大讯飞实习生C++笔试题目_第1张图片

2.

2018科大讯飞实习生C++笔试题目_第2张图片

#include 
#include 
#include 
using namespace std;

int Min = 1e10;
int num;
int sum = 0;
int res;

void dfs(vector& stone, int w, int start, int cnt)
{
 if (cnt == num) {
 if (abs(w * 2 - sum) < Min) {
  res = w;
  Min = abs(w * 2 - sum);
  }
 }
 else 
 {
  if (start == stone.size()) return;
  dfs(stone, w, start + 1, cnt);
  dfs(stone, w+stone[start], start + 1, cnt+1);
 }
}

int main()
{
 int n;
 cin >> n;
 vector stone(n);
 for (int i = 0; i < n; i++) {
  cin >> stone[i];
  sum += stone[i];
 }
 num = n / 2;
 sort(stone.begin(), stone.end());
 dfs(stone, 0, 0, 0);
 if (res * 2 > sum) cout << sum - res << " " << res << endl;
 else cout << res << " " << sum - res << endl;
 system("pause"); 
 return 0;
}

你可能感兴趣的:(2018科大讯飞实习生C++笔试题目)