L2-016 愿天下有情人都是失散多年的兄妹
要记得他父母也有性别
#include <bits/stdc++.h>
using namespace std;
constexpr int N = 1e5 + 10;
vector<int> g[N];
int main() {
int n, m;
cin >> n;
map<int, char> sex;
for (int i = 0; i < n; i++) {
int a, b, c;
char s;
cin >> a >> s >> b >> c;
sex[a] = s;
if (b != -1) g[a].push_back(b), sex[b] = 'M';
if (c != -1) g[a].push_back(c), sex[c] = 'F';
}
function<void(int, set<int>&)> bfs = [&] (int x, set<int> &st) {
queue<pair<int, int>> q;
st.insert(x);
q.push({x, 1});
while (q.size()) {
auto u = q.front();
q.pop();
int var = u.first, d = u.second;
for (auto &v : g[var]) {
if (d + 1 >= 6 || v == -1) continue;
st.insert(v);
q.push({v, d + 1});
}
}
};
function<bool(int, int)> check = [&] (int x, int y) {
set<int> xfive;
set<int> yfive;
bfs(x, xfive);
bfs(y, yfive);
for (auto &v : xfive) {
if (yfive.count(v)) return false;
}
for (auto &v : yfive) {
if (xfive.count(v)) return false;
}
return true;
};
cin >> m;
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
if (sex[x] == sex[y]) cout << "Never Mind" << "\n";
else if (check(x, y)) cout << "Yes" << "\n"; //出五服饰
else cout << "No" << "\n";
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-03-18 算法训练:出现次数最多的整数
2020-03-18 算法提高:不同单词个数统计
2020-03-18 矩阵重叠 (3.18 leetcode每日打卡)