社区讨论
求调!!!
灌水区参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m515w5ql
- 此快照首次捕获于
- 2024/12/23 22:58 去年
- 此快照最后确认于
- 2025/11/04 12:26 4 个月前
CPP
#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;
long long n, ls, lls, k, k2;
bool book[100001];
vector<long long> v[1000001];
unordered_map<int, bool> m[3001];
long long a[1001];
void DFS(int d, int l) {
m[l][d] = 1;
for (auto i : v[d]) {
DFS(i, l);
}
}
void BFS(int k) {
queue<int> q;
q.push(k);
book[k] = 1;
memset(book, 0, sizeof(book));
while (!q.empty()) {
int ls = q.front();
q.pop();
cout << ls << " ";
for (auto i : v[ls]) {
if (!book[i]) {
book[i] = 1;
q.push(i);
}
}
}
}
int main() {
cin >> n;
for (int i = 1; i < n; i++) {
m[0][i] = 1;
cin >> ls;
v[ls].push_back(i);
}
for (int i = 1; i < n; i++) {
DFS(i, i);
}
cin >> k;
while (k--) {
cin >> k2;
for (int i = 1; i <= k2; i++) {
cin >> a[i];
}
for (int i = n - 1; i >= 0; i--) {
bool f = 1;
for (int j = 1; j <= k2; j++) {
if (!m[i][a[j]]) {
f = 0;
break;
}
}
if (f) {
cout << i << "\n";
break;
}
}
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...