商汤科技2018校招C /算法开发/大数据/后端/运维/测试/数据挖掘开发工程师笔试第一场
时长:120分钟 总分:100分
211浏览 0人已完成答题
题型介绍
题型 | 单选题 | 判断题 | 填空题 |
---|---|---|---|
数量 | 5 | 5 | 3 |
在TCP/IP协议集中,应用层的各种服务是在传输层所提供服务的基础上实现的...
一个数据表student(No, Name, Sex, Age, Dept...
硬盘上有2GB数据(每项为一个无符号64位整型),若想找出其中最大的前50...
在一所中学,32%的学生踢足球,18%的学生踢足球且打篮球。如果该学校的一...
ABC三个组分别有2个、3个和5个人,三组一起出去团建,坐在一个圆桌吃饭,...
已知某实验室的100瓶试剂中有一瓶毒药,其余试剂无毒,混入任何剂量该毒药的...
给定数组 [ 20,9,45,28,73,92,38 ] ,构造一棵 左子...
请阅读以下代码和输入,写出程序的输出结果。 代码: #incl...
#include<iostream> #include<string> using namespace std const int MAX_SIZE = 1000 int n, m, k int a[MAX_SIZE][MAX_SIZE] int sum void dfs(int x, int y) { ++sum a[x][y] = 1 if ((x > 1) && (a[x-1][y] == 0)) dfs(x - 1, y) if ((y > 1) && (a[x][y-1] == 0)) dfs(x, y - 1) if ((x < n) && (a[x+1][y] == 0)) dfs(x + 1, y) if ((y < m) && (a[x][y+1] == 0)) dfs(x, y + 1) } int main( ) { memset(a, 0, sizeof(a)) cin >> n >> m >> k for(int i = 1 i <= k ++i) { int x, y cin >> x >> y a[x][y] = 1 } int ans = 0, ansp = 0 for (int i = 1 i <= n ++i) for (int j = 1 j <= m ++j) if (a[i][j] == 0) { ++ansp sum = 0 dfs(i, j) if (ans < sum) ans = sum } cout << ans << " " << ansp << endl return 0 }
10 10 10
4 1
5 2
6 3
7 2
8 1
1 7
2 7
3 8
4 9
5 10最小区间
N
x11 x12 x13 ... x1n
...
xk1 xk2 xk3 ... xkn输入样例: 3 3 2 12 14 2 6 9 4 7 19 输出描述: 两个数,分别为最小区间的左右边界输出样例 2 4
合并果子
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了N堆。果园是一个二维平面,第i堆果子的位置为(Xi,Yi),重量为Wi。
多多决定把所有的果子合成一堆。每一次合并,多多可以消耗Wi (|Xi - Xj |+|Yi - Yj |)的体力把第i堆果子合并到第j堆。可以看出,所有的果子经过N-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。
请你求出将所有果子合并成一堆消耗的总体力最少是多少。
输入描述: 第一行一个正整数N,接下来N行每行三个正整数 Xi Yi Wi输入样例: 4 2 1 1 1 2 3 3 1 2 2 4 2 输出描述: 一个数,最少消耗的总体力输出样例 14