[PAT解题报告] Forwards on Weibo

这个题我觉得也不难。给定微博上每个人的粉丝数,假设它发一条微博,所有粉丝都会转发,并且粉丝的粉丝也会转发……问L层之后有多少人转发,其实就是查询每个人的L级粉丝数。
如果A是B的粉丝,就连一条B到A的边,我们就有了一个有向图,原始问题变成了查询一个点距离不超过L的点有哪些了。
查询有多个,显然可以根据每个查询bfs L层……我采用了最暴力的做法,先用n^3的floyd算出任意两点间的最短路,对每个查询,枚举所有点,把距离不超过L的都输出就好了。

代码:
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;

int f[1024][1024];
void better(int &x,int y) {
    if ((x < 0) || (x > y)) {
        x = y;
    }
}

int main() {
int n,m;
    memset(f,0xff,sizeof(f));
    scanf("%d%d",&n,&m);
    for (int i = 1; i <= n; ++i) {
        int j;
        for (scanf("%d",&j);j;--j) {
            int x;
            scanf("%d",&x);
            f[x][i] = 1;
        }
    }
    for (int k = 1; k <= n; ++k) {
        for (int i = 1; i <= n; ++i) {
            if (f[i][k] >= 0) {
                for (int j = 1; j <= n; ++j) {
                    if (f[k][j] >= 0) {
                        better(f[i][j],f[i][k] + f[k][j]);
                    }
                }
            }
        }
    }
    int x;

    for (scanf("%d",&x);x;--x) {
        int y;
        scanf("%d",&y);
        int z = 0;
        for (int i = 1; i <= n; ++i) {
            if ((i != y) && (f[y][i] >= 0) && (f[y][i] <= m)) {
                ++z;
            }
        }
        printf("%d\n",z);
    }
    
            
     
    return 0;
}

原题链接: http://www.patest.cn/contests/pat-a-practise/1076
全部评论

相关推荐

2025-12-02 02:15
门头沟学院
最近菊厂陆续开了,极力劝退那些拿13级的985硕士,就13级那么点儿薪资,一线城市每个月到手1.8/7/6w,租房2k还是破烂,吃饭2k还是预制菜,买个1k衣服都是聚酯纤维破塑料,稍微出去浪一浪,能留1w就是万岁,要是再有个啥都想买的对象,一线工作一年难存10w。隔壁工地混泥土,钳工,焊工一天800+,还包吃包住。读书18年到985硕士出来就为了进厂螺丝工?还不如从8岁童工开始干活,别人读书完了你工龄18+,混不上领导也是个小头头了。当然专科进来正式工,od都行,一般本科进来13级也OK,毕竟22岁年纪摆在那个地方还不需要太花钱。读硕博的基本26岁,工作两年就要结婚的,兜里没几个崽,连彩礼都要信用贷。菊厂离职的不少,毕竟正常没人受得了9116(梗:再来一次911刷6)。为啥这时候劝?因为刚下班,因为国考刚完,省考下周,就是可惜选调只有当年应届能报。现在回想能拍断大腿。应届生真实好身份,错过这一次,选调,考公,考编,当老师,进医院,研究所,高校,央国企,基本都无缘了,就连报名资格都被剥夺了,可谓是被党和国家遗弃的废材,统称“社会上的”,扔到社会去流浪,被用坏了就扔医院,长期超负载使用,零件修不好基本可以扔火里回炉重造了。体制内奉行找体制内的,都是党和国家选的人才,智力不差,样貌不丑,身材端正,收入稳定,安居房政策福利待遇也OK。因公出行都是报销,周末顺带“游山玩水“,这种体制内单身资源但凡想找对象,去社会上随便吆喝一声都排队。观察一下,基本没什么公务员在相亲,因为早就被邻里邻居抢光了。
哈哈哈,你是老六:就这不去的人大把人干呢,现在不缺人干活,你不干大把干呢,还有那个说农民工赚钱的,那个800+我估计肯定也就那一段时间,哪有这么赚钱,还是一句话,要想存下钱必须花销极低,能省的就不花钱,工资要高点
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务