关注
#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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 第一份工作应该选高薪还是热爱? #
69694次浏览 664人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
30959次浏览 377人参与
# 风评不好的公司,你会去吗? #
36853次浏览 223人参与
# 你觉得早上几点上班合适? #
73322次浏览 308人参与
# 学历贬值真的很严重吗? #
25833次浏览 178人参与
# 听劝,这个公司值得去吗 #
487273次浏览 1709人参与
# 秋招签约后的心态变化 #
83593次浏览 820人参与
# 推荐一首陪你工作的歌吧 #
15001次浏览 99人参与
# 双非能在秋招上岸吗? #
222888次浏览 1178人参与
# 打工人的工作餐日常 #
54453次浏览 428人参与
# 外包能不能当跳板? #
37578次浏览 227人参与
# 反问环节如何提问 #
93524次浏览 1938人参与
# 大学最后一个寒假,我想…… #
47186次浏览 576人参与
# 月薪多少能在一线城市生存 #
34645次浏览 347人参与
# 26届的你们有几段实习? #
48956次浏览 528人参与
# 我想象的实习vs现实的实习 #
288226次浏览 2244人参与
# 你上一次加班是什么时候? #
89513次浏览 574人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
92965次浏览 684人参与
# 你以为的实习VS真实的实习 #
34796次浏览 313人参与
# 2023毕业生求职有问必答 #
181752次浏览 1626人参与