关注
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
set nodeset;
vector > a; //
set> m; // edge
map mm;
unordered_map visited;
void AddDependency(unsigned int ModuleId, unsigned int DependModuleId) {
m.insert(make_pair(ModuleId, DependModuleId));
}
bool ModulesCycularDependency(unsigned int ModuleId) {
int n = nodeset.size();
vector d;
d.push_back((int)ModuleId);
visited[ModuleId] = 1;
while (!d.empty()) {
int i = d.back();
d.pop_back();
for (int k = 0; k < a[i].size(); k++) {
if (!visited.count(a[i][k])) {
visited[a[i][k]] = 1;
d.push_back(a[i][k]);
} else {
if (a[i][k] == ModuleId) {
string output = (string)mm[ModuleId];
std::cout << output << " is false" << std::endl;
visited.clear();
return true;
}
}
}
}
string output = (string)mm[ModuleId];
std::cout << output << " is true" << std::endl;
visited.clear();
return false;
}
void clear(void) {
}
int main() {
string in;
int count = 0;
while(getline(cin, in), in != "") {
size_t pos = in.find_first_of(',');
if (pos != std::string::npos) {
if (in[in.size() - 1] == ',') {
int x = std::stoul(in.substr(1, pos - 1), nullptr, 16);
int y = std::stoul(in.substr(pos+2, in.size() - 4 - pos), nullptr, 16);
nodeset.insert(x);
nodeset.insert(y);
mm.insert(make_pair(x, in.substr(1, pos - 1)));
mm.insert(make_pair(y, in.substr(pos + 2, in.size() - 4 - pos)));
m.insert(make_pair(x, y));
//node.push_back(in.substr(1, pos - 1));
//node.push_back(in.substr(pos + 2, in.size() - 4 - pos));
} else {
int x = std::stoul(in.substr(1, pos - 1), nullptr, 16);
int y = std::stoul(in.substr(pos+2, in.size() - 3 - pos), nullptr, 16);
nodeset.insert(x);
nodeset.insert(y);
mm.insert(make_pair(x, in.substr(1, pos - 1)));
mm.insert(make_pair(y ,in.substr(pos + 2, in.size() - 3 - pos)));
m.insert(make_pair(x, y));
}
}
if (in[in.size() - 1] != ',')
break;
}
a.assign((int)nodeset.size(), vector());
for (auto& x : m) {
a[x.first].push_back(x.second);
}
for (int i = 0; i < nodeset.size(); i++) {
ModulesCycularDependency(i);
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 挑战 26 届最速转正失败——我做错了什么4.0W
- 2... 我的校园恋爱正式结束了1.2W
- 3... 从后端的角度聊一聊:2728届想要搞开发的同学现在最应该干什么?9099
- 4... 毕业照和春招结束代表着我的学生时代落幕了7414
- 5... 25的兄弟们还在战斗吗?6466
- 6... 坐我后面的妹妹被拉走了!!5780
- 7... 实习不满意,可以直接拎包就走吗?5302
- 8... 27学院鼠好不容易找到实习,代课被同学举报5225
- 9... 26届游戏客户端暑期实习求职历程4934
- 10... 秋招提前上岸,这个机会真的不错!建议大家冲!4794
正在热议
更多
# 职场捅娄子大赛 #
296698次浏览 2942人参与
# 上班苦还是上学苦呢? #
219885次浏览 1295人参与
# 华泰证券Fintech星战营 #
164374次浏览 185人参与
# 华为求职进展汇总 #
4623304次浏览 28168人参与
# 晒一下我的毕业照 #
22455次浏览 184人参与
# 一人一个landing小技巧 #
53396次浏览 870人参与
# 好好告别我的学生时代 #
13611次浏览 271人参与
# 如何缓解求职过程中的焦虑? #
2909次浏览 35人参与
# 互联网行业现在还值得去吗 #
16400次浏览 54人参与
# 节后第一天上班,我的精神状态 #
8751次浏览 80人参与
# 2025,我想...... #
47647次浏览 450人参与
# 简历无回复,你会继续海投还是优化再投? #
67367次浏览 692人参与
# 00后45度躺现状 #
92442次浏览 470人参与
# 运营来爆料 #
42724次浏览 320人参与
# 租房前辈的忠告 #
167153次浏览 6339人参与
# 机械人,签完三方你在忙什么? #
48213次浏览 211人参与
# 如何KTV领导 #
54850次浏览 411人参与
# 嵌入式岗知多少 #
38775次浏览 425人参与
# 记录实习开销 #
10856次浏览 82人参与
# 来聊聊机械薪资天花板是哪家 #
121626次浏览 735人参与
# 应届生应该先就业还是先择业 #
105595次浏览 623人参与