关闭

浙大PAT甲级 1076

170人阅读 评论(0) 收藏 举报
分类:

广度优先搜索。用queue来实现,且用mark来表示userid是否出现。

AC代码:

#include<iostream>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#include<vector>
#define inf 999999999
using namespace std;
vector<int> v[1001];
int n,m;
int mark[1001];
struct node
{
    int lay;
    int data;
};
queue<node> q;
void bfs(int x)
{
    node w;
    w.lay=0;
    w.data=x;
    q.push(w);
    while(!q.empty())
    {
        node tmp=q.front();
        q.pop();
        for(int i=0;i<v[tmp.data].size();i++)
        {
           node gg;
           gg.data=v[tmp.data][i];
           if(mark[gg.data]==1)
            continue;
           gg.lay=tmp.lay+1;
           if(gg.lay!=m)
           {
               q.push(gg);
           }
           mark[gg.data]=1;
        }
    }
}
int main()
{
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        int d;
        scanf("%d",&d);
        for(int j=1;j<=d;j++)
        {
            int t;
            scanf("%d",&t);
            v[t].push_back(i);
        }
    }
    int d;
    scanf("%d",&d);
    for(int i=0;i<d;i++)
    {
        memset(mark,0,sizeof(mark));
        int t;
        scanf("%d",&t);
        bfs(t);
        int ans=0;
        for(int j=1;j<=n;j++)
        {
            if(j==t) continue;
            if(mark[j]==1)
                ans++;
        }
        printf("%d\n",ans);
    }
}


0
0
查看评论

1076. Wifi密码 (15) PAT乙级真题

1076. Wifi密码 (15) 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用wifi,又怕耽误亲们的学习,现将wifi密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本...
  • chenyvye
  • chenyvye
  • 2017-12-12 11:05
  • 309

pat解题报告【1076】

解题报告【pat-1076】
  • linsheng9731
  • linsheng9731
  • 2014-08-10 21:04
  • 1032

PAT 1076. Forwards on Weibo

题目:http://pat.zju.edu.cn/contests/pat-a-practise/1076 题解: 共有n个微博号,第i行表明有k个人关注i,问x再转发m层的范围内可以转发多少人的微博(同1个人的微博算1个)。 依照输入建图。 对每个账号进行BFS。 代码: #include #in...
  • ACM_Ted
  • ACM_Ted
  • 2014-03-09 02:14
  • 1707

PAT甲级1076

1076. Forwards on Weibo (30) 时间限制 3000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu...
  • qq_22194315
  • qq_22194315
  • 2017-02-05 14:49
  • 126

PAT 1076. Forward on Weibo (30)

#include #include #include using namespace std; struct users{ int size; vector follow; }usr[1001]; bool visit[1001] = { false }; queue que; int itg_...
  • u012443276
  • u012443276
  • 2014-10-26 23:40
  • 259

pat-advanced(1073-1076)

1073. Scientific Notation (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming Scientific notation is ...
  • lulu901130
  • lulu901130
  • 2015-08-08 17:32
  • 300

pat 1076

1076. Forwards on Weibo (30) 时间限制 3000 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Weibo is known as the Chinese ve...
  • suichen1
  • suichen1
  • 2014-03-13 15:31
  • 546

PAT 1076 Forwards on Weibo BFS

#include #include #include #include #include #include using namespace std; vectorv[1050]; queueque; int q[1050],dis[1050]; int bfs(int u,int l) { in...
  • shllhsboa
  • shllhsboa
  • 2014-08-25 11:49
  • 357

PAT 1076

1076. Forwards on Weibo (30) 关键是读懂题目,然后用图的广度遍历即可。 比如sample里的 7 3 3 2 3 4 0 2 5 6 2 3 1 2 3 4 1 4 1 5 2 2 6 用户1关注了3个人:2 3 4,因此可以转发2,3, 4的微博。 ...
  • liuyy2007
  • liuyy2007
  • 2014-03-04 13:43
  • 884

1076. Forwards on Weibo (30) PAT 甲级

传送门#include<stdio.h> #include<vector> #include<queue> #include<string.h>#define MAX_V 1100using namespace std;struct Node{ ...
  • SY_Yu
  • SY_Yu
  • 2017-02-22 16:56
  • 154
    个人资料
    • 访问:16405次
    • 积分:1029
    • 等级:
    • 排名:千里之外
    • 原创:91篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档