USACO 06JAN 牛的舞会 洛谷2863

题目描述

The N (2 <= N <= 10,000) cows are so excited: it’s prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each try to perform the Round Dance.

Only cows can perform the Round Dance which requires a set of ropes and a circular stock tank. To begin, the cows line up around a circular stock tank and number themselves in clockwise order consecutively from 1..N. Each cow faces the tank so she can see the other dancers.

They then acquire a total of M (2 <= M <= 50,000) ropes all of which are distributed to the cows who hold them in their hooves. Each cow hopes to be given one or more ropes to hold in both her left and right hooves; some cows might be disappointed.

约翰的N (2 <= N <= 10,000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别 上鲜花,她们要表演圆舞.

只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一个圆形的水池.奶牛们围在池边站好, 顺时针顺序由1到N编号.每只奶牛都面对水池,这样她就能看到其他的每一只奶牛.

为了跳这种圆舞,她们找了 M(2

#include<iostream>
#include<cstdio>using namespace std;
const int MAXN = 10005;struct Edge{int nxt,to;
}edge[MAXN*5];int n,m,head[MAXN],low[MAXN],dfn[MAXN];
int cnt,num,ans,top,stack[MAXN];
bool vis[MAXN];inline void add(int bg,int ed){edge[++cnt].to=ed;edge[cnt].nxt=head[bg];head[bg]=cnt;
}inline void tarjan(int u){vis[u]=1;stack[++top]=u;dfn[u]=low[u]=++num;for(int i=head[u];i;i=edge[i].nxt){int v=edge[i].to;if(!dfn[v]){tarjan(v);low[u]=min(low[u],low[v]); }else if(vis[v])low[u]=min(low[u],dfn[v]); }if(low[u]==dfn[u]){if(stack[top]!=u)ans++;vis[u]=0;while(stack[top]!=u){vis[stack[top]]=0;top--;}top--;}
}int main(){scanf("%d%d",&n,&m);for(register int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);add(x,y);}for(register int i=1;i<=n;i++)if(!dfn[i]) tarjan(i);printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/sdfzsyq/p/9677135.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[UWP]了解模板化控件(4):TemplatePart

原文:[UWP]了解模板化控件(4)&#xff1a;TemplatePart1. TemplatePart TemplatePart&#xff08;部件&#xff09;是指ControlTemplate中的命名元素。控件逻辑预期这些部分存在于ControlTemplate中&#xff0c;并且使用protected DependencyObject GetTemplateChild(String ch…

动态重定位的增加的紧凑功能

动态重定位增加了紧凑的功能&#xff0c;在动态的分区分配时&#xff0c;可以对外部碎片进行紧凑来为没有内存空间进行存储的进程进行分配。

java 重载 equals_实现Student类的equals重载函数

[java]代码库//测试类public class StudentDemo {public static void main(String[] args) {Student s1 new Student("000","张三",18);Student s2 new Student("000","张三",18);//随便改boolean flag s1.equals(s2);System.out.p…

python面试题总结(2)--编码规范

1. 什么是 PEP8? 答&#xff1a;PEP8 --《Python Enhancement Proposal #8》&#xff08;8 号 Python 增强提案&#xff09;&#xff0c;他针对的 Python 代码格式而编订的风格指南。 2. 了解 Python 之禅么&#xff1f; 答&#xff1a;通过 import this 语句可以获取其具体…

【Unity热更新】学会AssetsBundle打包、加载、卸载

本教程详细讲解什么是AssetBundle压缩包机制!然后构建 AssetBundle、加载 AssetBundle 以及卸载 AssetBundle 的简要教程。这一个流程就是热更新! AssetBundles 简介 1.什么是AssetBundles? AssetBundles是Unity中一种用于打包和存储资源(如模型、纹理、声音等)的文件格…

Confluence 6 访问你的宏正文(body)

请查看 Writing User Macros 页面获得有关如何写用户宏的介绍。 这个页面介绍你可以在用户宏中可以使用的的代码信息。 访问你的宏正文&#xff08;body&#xff09; 在你用户宏模板中的 $body 对象可以访问访问到传递到你宏正文中的内容。 当你的宏有指定的正文的时候&#xf…

hibernate主键生成策略

1、hibernate 要求实体类里面有一个属性作为唯一值&#xff0c;对应的表字段是主键&#xff0c;主键可以不同的生成策略 2、hibernate 主键生成策略有很多的值 <generator class"native"></generator> 3、在class属性里面有很多值 &#xff08;1&#xf…

jboss mysql cluster_jboss配置mysql数据库连接池

jboss配置mysql数据库连接池下面YJBYS小编为大家整理了关于jboss配置mysql数据库连接池的文章&#xff0c;希望对你有所帮助。更多Java认证考试信息&#xff0c;尽在应届毕业生培训网!1&#xff1a;配置&#xff1a;JDK 1.5JBoss4.0.4Mysql5.0Myeclipse 4.12&#xff1a;建立数…

P2P-挑战和机遇

近年来互联网上对等连接P2P应用发展迅速&#xff0c;MP3和视频文件共享下载的P2P流已经成为宽带用户流量的主体。基于P2P的即时通信和互联网电话&#xff08;如Skype&#xff09;发展迅速&#xff0c;对等广播P2P流媒体等正在兴起。P2P协同计算和网格方兴未艾。P2P 应用支持网络…

python面试题总结(3)-- 数据类型(字符串)

1. 列举 Python 中的基本数据类型&#xff1f; 答&#xff1a; Python3 中有六个标准的数据类型&#xff1a;数字&#xff08;Number&#xff09;、字符串&#xff08;String&#xff09;、列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#…

网页中JS函数自动执行常用三种方法

&#xff08;1&#xff09;最简单的调用方式&#xff0c;直接写到html的body标签里面&#xff1a; <body οnlοad"myFunction()"></body> <script type"text/javascript"> function myFunction(){ …

Jetty - Container源码分析

1. 描述 Container提供管理bean的能力。 基于Jetty-9.4.8.v20171121。 1.1 API public interface Container {// 增加一个bean&#xff0c;如果bean是一个Container.Listener则隐含调用addEventListener(Container.Listener)方法// Container.Listener只关心两个事件&#xff1…

Ubuntu中安装FastDFS

1 安装fastdfs依赖包 解压缩libfastcommon-master.zip进入到libfastcommon-master的目录中执行 ./make.sh执行 sudo ./make.sh install 2 安装fastdfs 解压缩fastdfs-master.zip进入到 fastdfs-master目录中执行 ./make.sh执行 sudo ./make.sh install 3 配置跟踪服务器tra…

python基本语句及其意思_Python语法基础(1),一

一、Python的对象模型对象是Python语言中最基本的概率&#xff0c;在Python中处理的一切都是对象。Python中许多内置对象可提供编程者使用&#xff0c;内置对象可直接使用&#xff0c;如数字、字符串、列表 、del等&#xff1b;非内置对象需要导入模块才能使用&#xff0c;如正…

什么是隧道技术

隧道技术是一种通过互联网络基础设施在网络之间传递数据的方式。使用隧道传递的数据可以是不同协议的数据帧或包&#xff0c;隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送&#xff0c;被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由&#xff0c;…

详解网络数字电视的实现方法与关键技术

1、IPTV的实现方法 宽带网络数字电视&#xff0c;又称IPTV或BTV&#xff0c;即交互式网络电视&#xff0c;是一种利用宽带互联网、多媒体等多种技术于一体&#xff0c;向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。它能够很好地适应当今网络飞速发展的趋势&…

有状态的bean和无状态的bean的区别

有状态会话bean &#xff1a;每个用户有自己特有的一个实例&#xff0c;在用户的生存期内&#xff0c;bean保持了用户的信息&#xff0c;即“有状态”&#xff1b;一旦用户灭亡&#xff08;调用结束或实例结束&#xff09;&#xff0c;bean的生命期也告结束。即每个用户最初都会…

因为我想在博客园长呆,所以给博客园提一些改进建议

一晃眼我来博客园已经有4个月了&#xff0c;我的排名从9万多上升到9千多&#xff0c;也有不少朋友关注了我&#xff0c;其实对我帮助更大的是博客园的管理团队&#xff0c;他们对我的文章提出了很多很好的改进建议&#xff0c;从而让我的文章水平有了很大的提升。 这里我从用户…

double 二进制 java_C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确...

目前已定位到是因为C#中的byte范围是0到255&#xff0c;而java中byte值为-128到127导致的错误。尝试过使用C#的sbyte来解决&#xff1a;bw1 new BinaryWriter(new FileStream("C:\\Users\\DELL\\Desktop\\SpatialIndex\\ctest1.bin", FileMode.Create));bw2 new Bi…