zoukankan      html  css  js  c++  java
  • 【PAT甲级】1076 Forwards on Weibo (30 分)

    题意:

    输入两个正整数N和L(N<=1000,L<=6),接着输入N行数据每行包括它关注人数(<=100)和关注的人的序号,接着输入一行包含一个正整数K和K个序号。输出每次询问的人发出消息经过至多L层转发最多有多少人转发。

    trick:

    逻辑搞错的程序也能得到25或28分。。。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 int visit[1007][1007];
     5 vector<int>st[1007];
     6 int l;
     7 int vis[1007];
     8 int ans;
     9 int last;
    10 int lv[1007];
    11 void dfs(int x){
    12     queue<int>q;
    13     q.push(x);
    14     vis[x]=1;
    15     lv[x]=1;
    16     while(!q.empty()){
    17         int now=q.front();
    18         q.pop();
    19         for(auto it:st[now])
    20             if(!vis[it]&&lv[now]<=l){
    21                 ++ans;
    22                 q.push(it);
    23                 vis[it]=1;
    24                 lv[it]=lv[now]+1;
    25             }
    26     }
    27     return;
    28 }
    29 int main(){
    30     ios::sync_with_stdio(false);
    31     cin.tie(NULL);
    32     cout.tie(NULL);
    33     int n;
    34     cin>>n>>l;
    35     for(int i=1;i<=n;++i){
    36         int m;
    37         cin>>m;
    38         int x;
    39         for(int j=1;j<=m;++j){
    40             cin>>x;
    41             if(!visit[x][i]){
    42                 visit[x][i]=1;
    43                 st[x].push_back(i);
    44             }
    45         }
    46     }
    47     int k;
    48     cin>>k;
    49     for(int i=1;i<=k;++i){
    50         if(i>1)
    51             for(int j=1;j<=n;++j)
    52                 vis[j]=0,lv[1007];
    53         ans=0;
    54         int x;
    55         cin>>x;
    56         dfs(x);
    57         cout<<ans;
    58         if(i!=k)
    59             cout<<"
    ";
    60     }
    61     return 0;
    62 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    java并发编程
    Linux C++服务器端进程SDK
    定时器SDK
    Redis3.0集群方案分析
    DES
    生成验证码
    MVC Ajax.BeginForm 提交上传图片
    EF LIKE 查询
    JS 60秒后重发送验证码
    EF 指定字段修改
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11815550.html
Copyright © 2011-2022 走看看