首页 > 其他分享 >P2746 [USACO5.3] 校园网Network of Schools

P2746 [USACO5.3] 校园网Network of Schools

时间:2024-03-08 12:34:13浏览次数:29  
标签:int USACO5.3 next Schools low 校园网 now order 105

原题链接

题解

把奶牛看成点,赠送列表关系看成有向边,这样这道题就成了对强连通分量缩点,然后找出这个新图中入度为零的点有几个,出度为零的点有几个

code

#include<bits/stdc++.h>
using namespace std;
vector<int> G[105];
int len=0,cnt=0;
int belong[105]={0};
int in[105]={0},out[105]={0};
int in_st[105]={0},low[105]={0},order[105]={0};
stack<int> q;
void sd(int now)//有向图不需要判断父节点
{
    order[now]=low[now]=++len;
    q.push(now);
    in_st[now]=1;
    for(auto next:G[now])
    {
        if(!order[next])
        {
            sd(next);
            low[now]=min(low[now],low[next]);
        }
        else if(in_st[next]) low[now]=min(low[now],order[next]);//判断是否在栈内实际上是判断这个点是否是这一轮遍历的,不然会错误的更新
    }

    if(order[now]==low[now])
    {
        int next;
        cnt++;
        do
        {
            next=q.top();
            q.pop();
            in_st[next]=0;
            belong[next]=cnt;
        }while(next!=now);
    }
}
int main()
{
    int n,x;
    cin>>n;
    for(int i=1;i<=n;i++) while(cin>>x&&x) G[i].push_back(x);//有向图建边
    for(int i=1;i<=n;i++)if(!order[i])sd(i);//如果这个点没有缩过,那就缩点
    for(int i=1;i<=n;i++)//遍历所有边,更新边两端归属不同的缩点的入度和出度
    for(auto j:G[i])
    {
        int x=belong[i],y=belong[j];
        if(x!=y)
        {
            out[x]++;
            in[y]++;
        }
    }

    int ins=0,outs=0;
    for(int i=1;i<=cnt;i++)
    {
        ins+=(in[i]==0);
        outs+=(out[i]==0);
    }
    if(cnt==1)puts("1\n0");//如果只有一个点
    else cout<<ins<<endl<<max(ins,outs)<<endl;
    return 0;
}

标签:int,USACO5.3,next,Schools,low,校园网,now,order,105
From: https://www.cnblogs.com/pure4knowledge/p/18060728

相关文章

  • 三级计算机网络大题60分——来自B站“吃饭不留名”(综合题2:IP校园网 10分)
    https://www.bilibili.com/video/BV1hE411x7RT?p=3&vd_source=2bddda168481f778f8f92561c7e55574考点一iprouter考点二crc考点三bandwidth考点四ipaddress考点五posframing考点六posflag考点七lease考点八networkarea考点九router......
  • 群晖 NAS 配置校园网认证方式
     预先准备的材料群晖对应型号的containermanager安装文件下载连接群晖docker可供导入使用的siomiz-chrome容器文件下载链接VNC客户端软件下载链接校园网有线连接的网口一台有网口的电脑 containermanager需要你按照对应的型号在官网进行查找 ......
  • 服务器连校园网
    curl-d"DDDDD=用户名&upass=密码&0MKKey="http://202.114.66.91/0.htm<formname="form1"method="post"action=""onSubmit="returnee()"><pclass="head">��¼</p><pclass=......
  • 校园网下博客加载不出来?试试这样做!
    校园网下博客加载不出来?试试这样做!博问博客一直加载loading...无法进入解决于解决于2023-10-1709:19如果您使用的是校园网,并且在访问我的博客时出现博客加载不出来的情况,可以尝试如下操作:以管理员身份运行WindowsPowershell或CMD执行如下命令,打开记事本:notep......
  • Windows 10 同时使用WiFi(访问internet), 使用有线网卡访问校园网
    设备和网络情况一台安装有windows10的笔记本电脑笔记本有100-base-T有线网卡,接入172.27.64.1/18(255.255.192.0)的校园网9172.16.0.0/12,202.118.80.0/20)笔记本有wifi网卡,用其接入手机共享出的wifi热点两个网卡同时启动时,ip地址如下:有线网卡(Manualip):172.27.125.1......
  • 关于内蒙古工业大学校园网
    尝试连接共享打印机过程中发现,校园网为先登录账号后才分配ip地址,故直接试图连接网线作为网络打印机使用不可行,需要使用一个学生账号登陆电脑分配ip地址,再电脑连接打印机,实现内网打印。似乎教师端网络与学生端不在一个地址池,双方ping不通。但实验室内的学生端可以互ping......
  • 基于BS模式的大学校园网的设计及实现-计算机毕业设计源码+LW文档
    一、选题的目的及意义随着Internet应用的普及,网站的地位尤为突出,它已成为现代人学习和获取信息的重要组成部分,从而备受人们的重视,国内外各个学校都有自己的校园网,同学们可以非常容易的获取信息。目前,在我国的很多学校,大学校园网还不够完善健全,基于此,开发出现代化的校园网应用到各......
  • 让f1c100s开发板通过认证接入校园网
    title:让f1c100s通过认证接入校园网date:2023-08-2217:02:22tags:categories:embedded书接上回,我们给一块小小的f1c100s开发板上配好了以太网的驱动,但是由于学校的校园网需要认证,未认证的话会使用防火墙屏蔽所有除了认证用的流量。所以我打算手写一个跨平台的认证程序。......
  • 2019考研英语(一)小作文真题解析与参考 Aiding Rural Primary Schools 答复信
    2019考研英语(一)小作文真题解析与参考Directions:Supposeyouareworkingforthe“AidingRuralPrimarySchools” projectofyouruniversity.Writeanemailtoanswertheinquiryfromaninternationalschoolvolunteer,specifyingthedetailsoftheproject.Yous......
  • 与校园网斗智斗勇(二)之Swiftz协议试译
    前言  本文是对xingrz写的针对安朗(安腾)宽带认证客户端(以下统称蝴蝶)的协议分析记录的试译和修整,用以我编写第三方客户端。所有修改和翻译都在尊重原创的基础下进行,并且所有修改和翻译内容均属我个人意见与见解,如有错误,敬请谅解。Swiftz  Swiftz是一个基于对蝴蝶3.6.5的分......