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.pswp.cn/news/452862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452862.shtml
英文地址,請注明出處:http://en.pswp.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…