2022-08-07 米哈游笔试统计~程序综合笔试A卷

1.史莱姆队列
2.跳石头得分
3.树中abb类型个数


=================

22.20更新

1.
#include <bits/stdc++.h>
using namespace std;


int main() {

    unordered_map<char, int>mp;
    int T;
    cin >> T;
    queue<char>q;
    int ans = 0;
    while(T--) {
        int x;
        cin >> x;
        if(x == 1) {
            char c;
            cin >> c;
            q.push(c);
            if(mp[c] == 0) ans++;
            mp[c]++;
        } else if(x == 2) {
            char c = q.front();
            q.pop();
            mp[c]--;
            if(mp[c] == 0) ans--;
        } else {
            cout << ans << endl;
        }
    }


    return 0;
}

2.


#include <bits/stdc++.h>
using namespace std;

int a[100005];
int b[100005];

int main() {

    int n, m;
    cin >> n >> m;
    for(int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for(int i = 0; i < m; i++) {
        cin >> b[i];
    }
    int ans = 0;
    for(int i = 0; i < n; i++) {
        if(b[a[i] - 1] > 0) {
            ans++;
            b[a[i] - 1]--;
        } else {
            break;
        }
    }
    cout << ans * 30 << endl;


    return 0;

}

3.

#include <bits/stdc++.h>
using namespace std;


int main() {


    int n;
    cin >> n;
    string s;
    cin >> s;
    vector<vector<int>>same(n);
    vector<vector<int>>different(n);
    int x, y;
    for(int i = 0; i < n - 1; i++) {
        cin >> x >> y;
        if(s[x - 1] == s[y - 1]) {
            same[x - 1].push_back(y - 1);
            same[y - 1].push_back(x - 1);
        } else {
            different[x - 1].push_back(y - 1);
            different[y - 1].push_back(x - 1);
        }
    }
    long long ans = 0;
    for(int i = 0; i < n; i++) {
        for(auto &j: different[i]) {
            ans += same[j].size();
        }
    }
    cout << ans << endl;

    return 0;
}
/*


*/


#投票##笔试##米哈游##米哈游笔试有多难#
全部评论
直接交了,招聘说JavaGO都可以,笔试只允许C++,寄了
9 回复
分享
发布于 2022-08-07 21:36
ak,不定选择好恶心,明明是游戏开发岗,计算机组成原理、redis、操作系统、c++、计算机网络、mysql啥都有
4 回复
分享
发布于 2022-08-07 21:16
联易融
校招火热招聘中
官网直投
这题目有点水,应该多做会猿辅导😂
3 回复
分享
发布于 2022-08-07 21:17
没仔细看,直接交了,招聘要求写go优先,笔试不让用😤
3 回复
分享
发布于 2022-08-07 21:17
算法只让c c# cpp,用java翘完才发现,我真的栓q他。
3 回复
分享
发布于 2022-08-07 21:46
要求c++,然鹅我连迭代器的用法都忘记了,说好的Go优先呢。。。我真是非常栓Q啊
3 回复
分享
发布于 2022-08-07 22:04
第二三题什么思路
1 回复
分享
发布于 2022-08-07 21:13
客户端开发,最后一题给树上色。自己测了很多组,明明没问题就是不给通过,这判题系统。。。
1 回复
分享
发布于 2022-08-07 21:36
第三题什么思路啊???
1 回复
分享
发布于 2022-08-07 22:06
想试试特斯拉的可以私聊我哟,内推,快速进面试
1 回复
分享
发布于 2022-08-08 08:42
第三题AC 答案 ```c++ #include<iostream> #include<vector> #include<unordered_map> using namespace std; int main() {     int n;     cin >> n;     string s;     cin >> s;     unordered_map<int, pair<long long, long long>> hash;     // 核心思想是分别记录每一个点的邻居中, 与之相同的节点数量和与之不同的节点数量     // 之后两边相乘,就是经过该点的“abb" 路径数量     while(--n) {         int x, y;         cin >> x >> y;         if(s[x - 1] == s[y - 1]) {             hash[x].first++;             hash[y].first++;         } else {             hash[x].second++;             hash[y].second++;         }     }     long long res = 0;     for(auto [k, p] : hash) {         res += (p.first * p.second);     }     cout << res << endl;     return 0; } ```
1 回复
分享
发布于 2022-08-08 13:15
第三题做麻烦了,直接用vector<int>统计每个节点的相邻节点中同样字符的和不同字符的数目,之后乘算求和就行了,就是要用long long才能样例全通过
1 回复
分享
发布于 2022-08-09 10:10
我前端好像不太一样😂
点赞 回复
分享
发布于 2022-08-07 21:15
妈的 最后一题dfs bfs都超时 过95%用例 思路错了 代码搓的再多都是徒劳 郁闷
点赞 回复
分享
发布于 2022-08-07 21:30
第三题95%不是TLE,有没有AK的同学呀
点赞 回复
分享
发布于 2022-08-07 21:37
有像我一样。。第一题就没搞出来的人吗。。。Debug到最后都没de出来。佛了
点赞 回复
分享
发布于 2022-08-07 22:02
AK什么意思
点赞 回复
分享
发布于 2022-08-07 22:05
为啥第二题,一直没法得分啊,遍历一遍,测试的样例通过了啊
点赞 回复
分享
发布于 2022-08-07 22:08
我已经感谢信预订了……
点赞 回复
分享
发布于 2022-08-07 22:09
侧开岗 好难啊 我好菜啊 就会第一个题 第二个题对战太长直接没看  第三题(染色)坐牢就过来21% 踩死了都
点赞 回复
分享
发布于 2022-08-07 22:12

相关推荐

28 68 评论
分享
牛客网
牛客企业服务