关注
#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
相关推荐
05-08 17:12
郑州大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届春招投递记录 #
16470次浏览 117人参与
# Vibe Coding 会干掉初级岗位吗? #
51503次浏览 326人参与
# 我的求职总结 #
485815次浏览 6866人参与
# 美团秋招笔试 #
218834次浏览 1196人参与
# 27届实习投递记录 #
84554次浏览 903人参与
# 实习生应该准时下班吗 #
360453次浏览 1762人参与
# 职场吐槽大会 #
361306次浏览 2308人参与
# 面试常问题系列 #
311033次浏览 4803人参与
# 面试中的破防瞬间 #
1268693次浏览 11141人参与
# 我是XXX,请攻击我最薄弱的地方 #
95748次浏览 642人参与
# 拼多多工作体验 #
62710次浏览 439人参与
# 机械人还在等华为开奖吗? #
341983次浏览 1655人参与
# 华为工作体验 #
332256次浏览 1439人参与
# 牛油的搬砖plog #
207441次浏览 1335人参与
# 什么专业适合考公 #
73412次浏览 475人参与
# AI Coding实战技巧 #
32007次浏览 400人参与
# 实习工作,你找得还顺利吗? #
597304次浏览 6758人参与
# 求职遇到的搞笑事件 #
192871次浏览 962人参与
# 运营每日一题 #
147617次浏览 981人参与
# 小厂实习有必要去吗 #
95124次浏览 451人参与

