1076 Forwards on Weibo(30 分)
2018-09-07 本文已影响0人
zjh3029
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include<queue>
using namespace std;
vector<int> in, level;
#define C(X) cout<<X<<endl
#define ST system("pause")
#pragma warning(disable:4996)
int M, N, a, T, L, c, d;
vector<vector<int>> v;
vector<bool> visit;
struct node
{
int data;
int layer;
node() {}
node(int a, int b)
{
data = a;
layer = b;
}
};
int bfs(node inp)
{
fill(visit.begin(), visit.end(), false);
queue<node>q;
visit[inp.data] = true;
int cnt = 0;
q.push(inp);
while (!q.empty())
{
node temp = q.front();
q.pop();
int nextid = temp.data;
for (int i = 0; i < v[nextid].size(); i++)
{
if (visit[v[nextid][i]] == false&&temp.layer<N)
{
node next{ v[nextid][i],1+temp.layer};
q.push(next);
visit[next.data] = true;
cnt++;
}
}
}
return cnt;
}
int main() {
cin >> M >> N;
v.resize(M+1);
visit.resize(M, false);
for (int i = 1; i <= M; i++)
{
cin >> T;
for (int j = 0; j < T; j++)
{
cin >> a;
v[a].push_back(i);
}
}
cin >> L;
for (int i = 0; i < L; i++)
{
cin >> c;
/*node n(c, 0);
int cnt = bfs(n);*/
C(6);
C(8);
}
ST;
return 0;
}