1076. Forwards on Weibo (30) PAT

来源:互联网 发布:网络金融理财咨询 编辑:程序博客网 时间:2024/06/05 22:18

简单题,随便搜一下就好了

注意题目意思,M[i]是user_list [ i ]的粉丝

#include<iostream>#include<cstring>#include<cstdio>#include<vector>#include<queue>using namespace std;vector<int> user[1001];int N,L,ans;int vis[1001];struct node{int id;int level;};void bfs(int id){vis[id]=1;queue<node> q;struct node p,t;p.id=id;p.level=0;q.push(p);while(!q.empty()){t=q.front();q.pop();//cout<<t.id<<' '<<t.level<<endl;;if(t.level>L){break;}ans++;int tmp=t.id;for(int i=0;i<user[tmp].size();i++){//cout<<user[tmp][i]<<endl;if(vis[user[tmp][i]]==0){vis[user[tmp][i]]=1;p.id=user[tmp][i];p.level=t.level+1;q.push(p);}}}return ;}int main(){int k;scanf("%d%d",&N,&L);for(int i=1;i<=N;i++){scanf("%d",&k);while(k--){int a;scanf("%d",&a);user[a].push_back(i);}}scanf("%d",&k);while(k--){int user_id;scanf("%d",&user_id);memset(vis,0,sizeof(vis));ans=-1;bfs(user_id);printf("%d\n",ans);}return 0;}


0 0
原创粉丝点击