9.9华为机试第二题

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

int dfs(unordered_map<int, vector<int>>& map, int i, vector<int>& path,vector<bool>& isused,vector<bool>& mused)
{
    if (isused[i])
    {
        path.push_back(i);
        return i;
    }
    if (mused[i])
        return -1;

    mused[i] = true;
    isused[i] = true;
    path.push_back(i);
    int ret = -1;
    if (map.count(i))
    {

        for (auto& p : map[i])
        {
            ret = dfs(map, p, path, isused, mused);
            if (ret != -1)
            {
                
                return ret;
            }
        }

    }
    path.pop_back();
    isused[i] = false;
    return ret;
}

int main()
{
    int  n;
    while (cin >> n)
    {
        unordered_map<int, vector<int>> map;

        for (int i = 0; i < n; ++i)
        {        
            int m;
            cin >> m;

            int x;
            cin >> x;
            for (int i = 1; i < m; ++i)
            {
                int y;
                cin >> y;
                map[x].emplace_back(y);
            }
        }

        vector<bool> isused(10000, false);
        vector<bool> mused(10000, false);
        for (auto& mp : map)
        {
            vector<int> path;
            int res = dfs(map, mp.first, path, isused, mused);
            if (res != -1)
            {
                int i = 0;
                for (; i < path.size(); ++i)
                {
                    if (path[i] == res)
                    {
                        break;
                    }
                }

                for (int j = i; j < path.size(); ++j)
                {
                    cout << path[j] << " ";
                }
                cout << endl;
                break;
            }
        }
    }

    system("pause");
    return 0;
}
#华为机试#
全部评论
华为笔试9.9第三题https://www.nowcoder.com/discuss/1063945
点赞 回复 分享
发布于 2022-09-27 23:36 浙江
当天的题都是一样的?我的考试时间是一天内的任意时间,那这样岂不是出问题了😂
点赞 回复 分享
发布于 2022-09-13 11:37 德国
楼主有收到测评吗
点赞 回复 分享
发布于 2022-09-13 09:15 江苏
楼主可以分享下题目吗
点赞 回复 分享
发布于 2022-09-12 16:05 广东
可以分享一下是哪三题吗
点赞 回复 分享
发布于 2022-09-11 18:34 广东
现在华为还招人吗
点赞 回复 分享
发布于 2022-09-11 17:32 陕西

相关推荐

求个付费实习岗位:这种就是吃满时代红利又没啥技术水平,只能靠压力学生彰显优越感的老登,别太在意了
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务