关注
#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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招什么时候开投比较合适? #
23701次浏览 318人参与
# 百度工作体验 #
223389次浏览 1972人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
27957次浏览 216人参与
# 机械人与华为的爱恨情仇 #
117155次浏览 946人参与
# 发工资后,你做的第一件事是什么 #
68154次浏览 229人参与
# 机械人集合!你是什么工程师? #
15805次浏览 89人参与
# 你觉得实习能学到东西吗 #
36307次浏览 712人参与
# 找不到好工作选择GAP真的丢人吗 #
78265次浏览 938人参与
# 我想去国央企的原因 #
59993次浏览 393人参与
# 如何准备秋招 #
20667次浏览 390人参与
# 工作中哪个瞬间让你想离职 #
25909次浏览 177人参与
# 入职第四天,心情怎么样 #
29451次浏览 417人参与
# 拼多多工作体验 #
28540次浏览 197人参与
# 多益网络求职进展汇总 #
29228次浏览 134人参与
# 快手求职进展汇总 #
547098次浏览 6001人参与
# 硬件应届生薪资是否普遍偏低? #
74083次浏览 514人参与
# 不考虑转正,实习多久合适 #
32324次浏览 145人参与
# 面试中,你被问过哪些奇葩问题? #
68553次浏览 796人参与
# 你们公司几号发工资 #
21227次浏览 140人参与
# 如果再来一次,你还会学硬件吗 #
125786次浏览 1402人参与
# 实习,不懂就问 #
46386次浏览 693人参与