【正经题解】朋友圈2
2024-03-15 17:59:36
发布于:浙江
12阅读
0回复
0点赞
使用 vector<int> [ ]数组来表示用户关系图,每个元素 [ ]表示编号为 的用户的好友列表。
读取 个用户间的关系,根据 和 的值将好友关系添加到关系图中。
对于每个用户 ,查询其朋友列表 [ ],若为空,则输出 ;否则,输出用户 的朋友圈可见用户的编号。
#include<bits/stdc++.h>
using namespace std;
vector<int> v[10005];
int m, x, y, a, b, p;
int main() {
cin >> m;
// 处理用户关系
for (int i = 0; i < m; i++) {
cin >> x >> y >> a >> b;
// 如果a为1,表示x对y开放朋友圈,将y加入x的朋友列表
if (a) v[x].push_back(y);
// 如果b为1,表示y对x开放朋友圈,将x加入y的朋友列表
if (b) v[y].push_back(x);
}
// 查询用户p的朋友圈可见用户
cin >> p;
if (v[p].empty()) {
cout << "none";
} else {
// 输出可见用户的编号
for (int i = 0; i < v[p].size(); i++) {
cout << v[p][i] << " ";
}
}
return 0;
}
这里空空如也
有帮助,赞一个