美团3.15移动端笔试
#美团笔试# 线上两小时。
选择题30题 编程题有2道,听其他人说别的岗位是3道 两题都是全对 第一题是翻转 第二题是f(i,j)
第一题满分代码
#include "bits/stdc++.h"
using namespace std;
using i64 = int64_t;
void solve() {
string s;
cin >> s;
string t;
for (int i = 0; i < (int) s.size(); i++) {
if (s[i] == 'Z') {
if (!t.empty()) {
t.pop_back();
}
} else {
t += s[i];
}
}
string ans;
for (int i = 0; i < (int) t.size(); i++) {
if (t[i] == 'R') {
reverse(ans.begin(), ans.end());
} else {
ans += t[i];
}
}
cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
第二题满分代码
#include "bits/stdc++.h"
using namespace std;
using i64 = int64_t;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int l1, r1, l2, r2;
cin >> l1 >> r1 >> l2 >> r2;
i64 ans = 0;
for (int i = l2; i <= min(r2, r1); i++) {
ans += r1 / i - (l1 - 1) / i;
}
cout << ans << '\n';
return 0;
}