关注
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main() {
int n, t, x;
cin >> n;
set<int> monsters;
vector<int> types(n);
vector<int> nodes(n);
for (int i = 0; i < n; ++i) {
cin >> types[i] >> nodes[i];
nodes[i] -= 1;
}
int last = 0;
// 1 说 2 是宝箱 2说3是宝箱, 3说1是宝箱怪,这样的矛盾判断1是宝箱怪
for (int i = 0; i < n; ++i) {
int count = 0;
int k = i;
while (types[k] == 1) {
k = nodes[k];
if (++count >= n) break; // 处理 环
}
if (types[k] == 2 && nodes[k] == i)
monsters.insert(i);
}
// 指向宝箱怪 是 宝箱的 都是 宝箱怪
while (last != monsters.size()) {
last = monsters.size();
for (int i = 0; i < n; ++i) {
if (types[i] == 1 && monsters.find(nodes[i]) != monsters.end()) {
monsters.insert(i);
}
}
}
cout << 0 << " " << monsters.size() << endl;
return 0;
}
查看原帖
点赞 8
相关推荐
点赞 评论 收藏
分享
09-11 10:30
门头沟学院 C++ 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招报数:你投了多少家公司? #
5344次浏览 25人参与
# 荣耀求职进展汇总 #
934375次浏览 4969人参与
# 小红书校招直播来了 #
67603次浏览 405人参与
# 非技术er求职现状 #
94734次浏览 628人参与
# 数据人offer决赛圈怎么选 #
241011次浏览 2360人参与
# 总结:哪家公司最喜欢泡池子 #
137237次浏览 479人参与
# 国庆前的秋招小结 #
146018次浏览 1177人参与
# 百度工作体验 #
258285次浏览 2081人参与
# 这些公司卡简历很严格 #
50895次浏览 243人参与
# 设计人的面试记录 #
147504次浏览 1452人参与
# 我的第一份实习怎么找的 #
149168次浏览 1371人参与
# 摸鱼打卡站 #
53823次浏览 733人参与
# 我和mentor的爱恨情仇 #
71747次浏览 415人参与
# 多益网络求职进展汇总 #
38522次浏览 171人参与
# bilibili求职进展汇总 #
76345次浏览 698人参与
# 查收我的offer竞争力报告 #
207179次浏览 1358人参与
# kpi面有什么特征 #
75308次浏览 457人参与
# 字节跳动工作体验 #
511628次浏览 5162人参与
# 牛客十周岁生日快乐 #
171944次浏览 1792人参与
# 选了这个offer,你有没有后悔? #
617599次浏览 4076人参与
# 这个工作能去吗 #
17555次浏览 120人参与