笔试—美团嵌入式软件笔试
题目1
题目描述
小团想要自己来烤串!不过在烤串之前,需要串好烤串。小团有n个荤菜和n个素菜,他想按顺序分别一个荤菜一个素菜串起来,想请你帮他串好!
给出两个长度分别为n的仅包含小写英文字母的串A和B,分别代表荤菜和素菜的种类(用字母来表示菜的种类)。请你以从左到右的顺序依次串好他们!例如对于荤菜串A1A2…An
和素菜串B1B2…Bn,串好应该是A1B1A2B2…AnBn
输入描述
第一行一个正整数n,表示烤串长度
第二行为一个长度为n的字符串A,表示荤菜按次序都是哪些菜。
第三行为一个长度为n的字符串B,表示素菜按次序都是哪些菜。
对于80%的数据,n≤1000
对于20%的数据,n≤50000
对于所有数据,A和B为仅包含小写英文字母的字符串。
输出描述
输出一行,包含2n个字符串表示串好的烤串。
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; string a, b; cin >> a >> b; string ans; for (int i = 0; i < n; ++i) { ans += a[i]; ans += b[i]; } cout << ans << endl; return 0; }
题目2
题目描述
小团在地图上放了三个定位装置,想依赖他们来进行定位!
小团的地图是一个n×n的一个棋盘,他在(x1,y1),(x2,y2),(x3,y3) xi,yi ∈ Z ∩ [1,n] 这三个位置分别放置了一个定位装置(两两不重叠)。
然后小团在一个特定的位置(a,b)a,b ∈ Z ∩ [1,n]放置了一个信标。每个信标会告诉小团它自身到那个信标的曼哈顿距离,即对i=1,2,3 小团知道(|xi-a|+|yi-b|),
现在小团想让你帮他找出信标的位置!注意,题目保证最少有一个正确的信标位置。
因为小团不能定位装置确定出来的信标位置是否唯一,如果有多个,输出字典序最小的那个。(a,b)的字典序比(c,d)小,当且仅当 a<c或者a==c∧b<d
第一行一个正整数n,表示棋盘大小。
第二行两个整数,分别表示x1与y1,即第一个定位器的位置。
第三行两个整数,分别表示x2与y2,即第二个定位器的位置。
第四行两个整数,分别表示x3与y3,即第三个定位器的位置。
第五行三个整数,分别表示第一、二、三个定位器到信标的曼哈顿距离。第i个定位器到信标的曼哈顿距离即(|xi-a|+|yi-b|)
数字间两两有空格隔开,对于所有数据, n≤50000, 1≤xi,yi≤n
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() pair<int, int> op(int x, int y, int dx, int dy, int t) { switch(t) { case 0: return make_pair(x+dx, y+dy); case 1: return make_pair(x-dx, y+dy); case 2: return make_pair(x+dx, y-dy); case 3: return make_pair(x-dx, y-dy); } return make_pair(1, 1); } int main() { int n; cin >> n; vector<int> xx(3), yy(3), dd(3); set<pair<int, int>> ans; for (int i = 0; i < 3; ++i) { cin >> xx[i] >> yy[i]; } for (int i = 0; i < 3; ++i) cin >> dd[i]; for (int i = 0; i < 3; ++i) { set<pair<int, int>> nloc; set<pair<int, int>> validl; int d = dd[i], x = xx[i], y = yy[
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等