首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客1351401号
2017-08-17 00:15
华为_公共开发部_软件工程师
关注
已关注
取消关注
华为8月16的机试第二题怎么做
就是那道 A调用B,B调用C,C调用D,D调用A。给两两的调用关系,要你求有多少循环调用并输出。
问一下这是道求有向图的环路的问题吗?
具体怎么做
谢谢
提示
全部评论
推荐
最新
楼层
HtZhang
西安电子科技大学 C++
//用弗洛伊德算法思想 #include <iostream> #include <string> #include <vector> #include <algorithm> #include <map> using namespace std; vector<int> label; vector<int> dataIndex; void AddDependency(unsigned int Moduled, unsigned int DeModuled) { for(int i = 0; i < label.size(); ++i) { if(Moduled == label[i]) { dataIndex.push_back(Moduled); break; } } for(int j = 0; j < label.size(); ++j) { if(DeModuled == label[j]) { dataIndex.push_back(DeModuled); break; } } } int main() { vector<string> input; vector<int> result; string temp; while(getline(cin, temp)) { input.push_back(temp); } int len = input.size(); for(int i = 0; i < len; i++) { temp = input[i]; int k = 3; int num = 0; while(temp[k] != ',') { if(temp[k] >= '0' && temp[k] <= '9') { num = num * 16 + temp[k] - '0'; k++; } else { num = num * 16 + temp[k] - 'a'; k++; } } result.push_back(num); num = 0; k = k + 4; while(temp[k] != '}') { if(temp[k] >= '0' && temp[k] <= '9') { num = num * 16 + temp[k] - '0'; k++; } else { num = num * 16 + temp[k] - 'a'; k++; } } result.push_back(num); num = 0; } /* vector<int> time; vector<int> duitime; map<int, int> Hash; for(int i = 0; i < result.size()-1; i += 2) { ++Hash[result[i+1]]; } map<int, int>::iterator mapi; for(mapi = Hash.begin(); mapi != Hash.end(); mapi++) { int a = mapi->first; int b = mapi->second; duitime.push_back(a); time.push_back(b); } */ vector<int> result_temp(result); sort(result_temp.begin(), result_temp.end()); label.push_back(result_temp[0]); for(int i = 1; i < result_temp.size(); i++) { if(result_temp[i] != result_temp[i-1]) label.push_back(result_temp[i]); } /* for(int i = 0; i < label.size(); i++) cout << label[i] << endl << endl; */ for(int i = 0; i < result.size()-1; i += 2) { AddDependency(result[i], result[i+1]); } /* for(int i = 0; i < dataIndex.size(); i++) cout << dataIndex[i] << endl; */ int **arr = new int*[label.size()]; for(int i = 0; i < label.size(); i++) arr[i] = new int[label.size()]; //初始化数组为全0; for(int i = 0; i < label.size(); i++) for(int j = 0; j < label.size(); j++) arr[i][j] = 0; for(int i = 0; i < result.size()-1; i += 2) { arr[dataIndex[i]-1][dataIndex[i+1]-1] = 1; } /* for(int i = 0; i < label.size(); i++) { for(int j = 0; j < label.size(); j++) cout << arr[i][j] << ' '; cout << endl; } cout << endl; */ for(int i = 0; i < label.size(); i++) { for(int j = 0; j < label.size(); j++) { for(int k = 0; k < label.size(); k++) { if(arr[j][i] == 1 && arr[i][k] == 1) { arr[j][k] = 1; } } } } /* for(int i = 0; i < label.size(); i++) { for(int j = 0; j < label.size(); j++) cout << arr[i][j] << ' '; cout << endl; } cout << endl; */ //输出的格式没有调 for(int i = 0; i < label.size(); ++i) { if(arr[i][i] == 1) cout << label[i] << endl; } //最后需要释放内存 return 0; }
点赞
回复
分享
发布于 2017-08-17 17:02
送快递的小谍
杭州电子科技大学 Java
就是求拓扑排序呀
点赞
回复
分享
发布于 2017-08-17 00:20
暂无评论,快来抢首评~
相关推荐
昨天 15:59
上海大学 柜面服务
没到这个价格,就不要说自己是牛马
不要轻易的说自己是牛马,一头活牛价格是6590元,一匹马的价格3000-30万不等。大家可以对照牛马的价格,看看自己的收入,是不是能够上“牛马”的称号!
点赞
评论
收藏
分享
昨天 14:30
门头沟学院 产品经理
拒我6次的莉莉丝
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:
从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位 >
点赞
评论
收藏
分享
05-05 21:45
已编辑
广州大学 Java
五月还有机会找到实习吗😭😭😭
26双非,java后端,现在找实习还有机会吗😭😭😭
真烦好烦真烦:
有吧,还有不少公司的暑期有hc,大胆投
实习,投递多份简历没人回复怎么办
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
昨天 12:32
求助!如何拒绝同个小区的同事蹭车?
同事是个00后美眉,自从知道我们同个小区并且我骑电瓶车上班(离着近哈,5公里的距离),刚开始都会提前到车位等我,今年开始基本都要我等她。别说请我吃饭了,还试过有几次买完早餐再回小区接她,早餐钱都没给我。今天和她说了没办法带她,我要怎么回?
码农索隆:
要不,你试试和她表白呢,成了还挺不错,要是不成,她也不好意思蹭你车
实习吐槽大会
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI应用面试题
4.7W
2
...
秋招就投这些了
3.7W
3
...
不懂“心眼子”会吃大亏!测测你的心眼子能拿几分?
2.5W
4
...
26届各互联网厂开启秋招时间线汇总
1.4W
5
...
求助!如何拒绝同个小区的同事蹭车?
7882
6
...
女友爸爸帮我花钱找了工作,我爸妈觉得应该的
4151
7
...
暑期实习后发现自己不适合大厂
4124
8
...
最emo的一天
3755
9
...
华为od入职日志-入职前夕
3628
10
...
看看你是不是亲生的
3478
创作者周榜
更多
正在热议
更多
#
26届校招投递进展
#
5293次浏览
70人参与
#
2023届毁约公司名单
#
197989次浏览
954人参与
#
为了找工作你花了哪些钱?
#
17307次浏览
150人参与
#
你秋招想去哪些公司
#
7142次浏览
399人参与
#
第一份工作能做外包吗?
#
16946次浏览
199人参与
#
选完offer后,你后悔学机械吗?
#
30584次浏览
173人参与
#
你今年的平均薪资是多少?
#
128758次浏览
670人参与
#
你都遇到过哪些离谱的求职经历
#
11565次浏览
36人参与
#
分享一个让你热爱工作的瞬间
#
28961次浏览
308人参与
#
电信求职进展汇总
#
10190次浏览
85人参与
#
制造业的秋招小结
#
90386次浏览
1629人参与
#
你见过最离谱的招聘要求是什么?
#
195675次浏览
1456人参与
#
作业帮求职进展汇总
#
53919次浏览
362人参与
#
应届生进小公司有什么影响吗
#
74953次浏览
1019人参与
#
为什么那么多公司毁约
#
175426次浏览
1327人参与
#
如果实习可以转正,你会不会放弃秋招
#
521298次浏览
4532人参与
#
实习期间如何提升留用概率?
#
94764次浏览
1149人参与
#
应届生应该先就业还是先择业
#
110677次浏览
643人参与
#
非技术岗薪资爆料
#
369305次浏览
2771人参与
#
参加完秋招的机械人,还参加春招吗?
#
50948次浏览
553人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务