算法練習(十二)

The Suspects

Description

嚴重急性呼吸系統綜合癥( SARS), 一種原因不明的非典型性肺炎,從2003年3月中旬開始被認為是全球威脅。為了減少傳播給別人的機會, 最好的策略是隔離可能的患者。
在Not-Spreading-Your-Sickness大學( NSYSU), 有許多學生團體。同一組的學生經常彼此相通,一個學生可以同時加入幾個小組。為了防止非典的傳播,NSYSU收集了所有學生團體的成員名單。他們的標準操作程序(SOP)如下:
一旦一組中有一個可能的患者, 組內的所有成員就都是可能的患者。
然而,他們發現當一個學生被確認為可能的患者后不容易識別所有可能的患者。你的工作是編寫一個程序, 發現所有可能的患者。

Input

輸入文件包含多組數據。
對于每組測試數據:
第一行為兩個整數n和m, 其中n是學生的數量, m是團體的數量。0 < n <= 30000,0 <= m <= 500。
每個學生編號是一個0到n-1之間的整數,一開始只有0號學生被視為可能的患者。
緊隨其后的是團體的成員列表,每組一行。
每一行有一個整數k,代表成員數量。之后,有k個整數代表這個群體的學生。一行中的所有整數由至少一個空格隔開。
n = m = 0表示輸入結束,不需要處理。

Output

對于每組測試數據, 輸出一行為可能患者的個數。

Sample Input

100 4
2 1 2
5 10 13 11 12 14
2 0 1
2 99 2
200 2
1 5
5 1 2 3 4 5
1 0
0 0

Sample Output

4
1
1

代碼

#include<stdio.h>int pre[1001];int find(int x) {int r=x;while(r!=pre[r])r=pre[r];  // 不斷循環求得最終根return r;
}
void join(int x,int y) {int fx=find(x),fy=find(y);if(fx==0)pre[fy]=0;else if(fy==0)pre[fx]=0;else  pre[fx]=fy;         
}
int main() {int n,m;while(scanf("%d %d",&n,&m) != EOF && (m+n) != 0) {int ans=0;int i,j;for(i=0;i<n;i++) {pre[i]=i;}for(i=0;i<m;i++) {int k,a,b;scanf("%d %d",&k,&b);for(j=1;j<k;j++) {scanf("%d",&a);join(a,b);} }for(i=0;i<n;i++)if(find(i) == 0)ans++;printf("%d\n",ans);}return 0;
}

抱歉,最近有點懶了,老是拖更

轉載于:https://www.cnblogs.com/mxwbq/p/7617711.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280206.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280206.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280206.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

day4----函數-閉包-裝飾器

day4----函數-閉包-裝飾器 本文檔內容&#xff1a; 1 python中三種名稱空間和作用域 2 函數的使用 3 閉包 4 裝飾器 一 python中三種名稱空間和作用域 1.1名稱空間&#xff1a; 當程序運行時&#xff0c;代碼從上至下依次執行&#xff0c;它會將變量與值得關系存儲在一個空間中…

濾波器和均衡器有什么區別_什么是均衡器,它如何工作?

濾波器和均衡器有什么區別It’s in your car, home theater system, phone, and audio player but it doesn’t have an instruction manual. It’s an equalizer, and with a little know-how you can tweak your audio and fall in love with it all over again. 它在您的汽車…

網絡視頻監控與人臉識別

明天又要去面試了&#xff0c;趁次機會也將以前做的東西總結一下&#xff0c;為以后理解提供方便&#xff0c;也再加深下印象。 網絡視頻監控與人臉識別主要由三個程序組成&#xff1a;1、視頻采集與傳輸程序&#xff1b;2、接受與顯示程序&#xff1b;3、人臉識別程序。下面就…

esxi.主機配置上聯端口_為什么現代的電腦機箱仍然具有USB 2.0端口?

esxi.主機配置上聯端口With USB 3.0 becoming more prevalent with each passing year now, you may have found yourself wondering why modern computers still have USB 2.0 ports built into them. With that in mind, today’s SuperUser Q&A post has the answers to…

使用命令導入、導出mysql數據

1.導出全部數據庫 利用mysqldump的—all-databases參數可以一口氣把你數據庫root用戶下的所有數據庫一口氣導出到一個sql文件里。然后&#xff0c;重裝系統后使用source命令可以再一口氣倒回來。 需要確定mysql安裝的路徑&#xff1a;本機是&#xff1a;C:\Program Files\MySQL…

面試--跨域--cors

cors是什么 cors 跨域資源共享 Cross-origin resource sharing是一種跨域的解決方案 它允許瀏覽器向跨源服務器&#xff0c;發出XMLHttpRequest請求&#xff0c;從而克服了AJAX只能同源使用的限制。 但是需要瀏覽器的支持。值得注意的是&#xff1a;整個CORS通信過程&#xff0…

【原理圖操作】原理圖更新PCB時未改動元器件布局變動問題?

轉載PCB布局、布線完工之后&#xff0c;由于設計功能&#xff0c;發現不完善時, 原理圖部分功能需要改動&#xff0c;再改原理圖&#xff0c;修改完成后&#xff0c;導入PCB過程中&#xff0c;發現PCB中未改動&#xff08;部分&#xff09;的元器件 布局發生了變化&#xff0c;…

關閉edge任務欄預覽_如何在Microsoft Edge中關閉選項卡預覽

關閉edge任務欄預覽Now that it has extension support, Microsoft Edge is becoming a more and more viable browser. One feature people seem to either love or hate is the pop-up preview you get when you hover over a tab. There’s no built-in setting that lets y…

oracle 創建view時,授權給用戶

解決方法&#xff1a; 以dba用戶登錄 sqlplus / as sysdba 賦予scott用戶創建VIEW的權限 grant create view to scott 以scott用戶登錄oracle conn scott/tiger 創建視圖成功 CREATE OR REPLACE VIEW myview AS 轉載于:https://www.cnblogs.com/523823-wu/p/7635436.html

[BZOJ 1072] 排列perm

Link&#xff1a; BZOJ 1072 傳送門 Solution&#xff1a; 一道直接next_permutation純暴力就能過的題&#xff1f; 難道2007年時大家都不知道next_permutation這個函數嗎 還是用復雜度更優的狀壓DP吧 設$dp[i][j]$為狀態為$i$且對$d$余$j$的個數&#xff0c; 注意$dp[(1<&l…

智能手機丟失 數據安全_丟失智能手機時該怎么辦

智能手機丟失 數據安全Phones get stolen or lost everyday. With a plethora of data ripe for identity-theft on it, a lost phone can easily make your blood run cold. Take a deep breath, How-To Geek will talk you through this. 手機每天都會被盜或丟失。 隨著大量用…

程序員怎樣成為一名架構師?

在今天的技術圈&#xff0c;可能隨便遇到一個人遞給你一張名片&#xff0c;title 就是某某架構師。架構師多如過江之鯽&#xff0c;也正是眼下業內一個有趣的現象。對于架構師&#xff0c;你有什么看法&#xff1f;什么是架構師&#xff1f;隨便打開某招聘網站&#xff1a;系統…

C++設計模式之工廠模式(1)

關于設計模式的作用&#xff1a; “幫助我們將應用組織成容易了解&#xff0c;容易維護&#xff0c;具有彈性的架構&#xff0c;建立可維護的OO系統&#xff0c;要訣在于隨時想到系統以后可能需要的變化以及應付變化的原則。” 具體可參考&#xff1a;https://www.cnblogs.com/…

共享沒有權限訪問權限_如何與家人共享SmartThings訪問權限

共享沒有權限訪問權限If you have multiple people in your household and want them all to have access to SmartThings from their phones, here’s how to share access to SmartThings with anyone you want. 如果您的家庭中有多個人&#xff0c;并且希望他們所有人都可以…

PABX

自動用戶小交換機;&#xff3b;私用自動交換分機&#xff3d; A private telephone exchange that automatically connects internal “branch” lines to the external circuits of a telephone system. 一種自動地將內部用戶線連接到電話系統外線的專用電話交換機。 Private …

使用jquery+css實現瀑布流布局

雖然可以直接使用css實現瀑布流布局&#xff0c;但顯示的方式有點問題&#xff0c;所以這兒就直接使用jquerycss來實現瀑布流布局&#xff0c;最終效果如下&#xff1a; 思路是通過將每個小塊的position設置為relative&#xff0c;然后計算出在當前選擇的列下應該上移的距離&am…

geek_How-To Geek正在尋找安全作家

geekThink you have the perfect combination of geek knowledge and writing skills? We’re looking for an experienced, security-focused writer to join our team. 認為您將怪胎知識和寫作技能完美結合了嗎&#xff1f; 我們正在尋找經驗豐富&#xff0c;注重安全性的作…

AAC 文件解析及解碼流程

OUTLINE&#xff1a; &#xff0a; AAC概述 &#xff0a; AAC規格簡述 &#xff0a; AAC特點 &#xff0a; AAC音頻文件解析 ——ADIF&#xff06;ADTS格式 ——ADIF&#xff06;ADTS頭信息 ——ADIF&#xff06;ADTS數據信息 ——AAC文件處理流程 &#xff0a; AAC解碼流程…

JDK8之Stream新特性

/***JDK8 Stream特性* Created by chengbx on 2018/5/27.* Java 8 中的 Stream 是對集合&#xff08;Collection&#xff09;對象功能的增強&#xff0c;它專注于對集合對象進行各種非常便利、高效的聚合操作&#xff08;aggregate operation&#xff09;&#xff0c;* 或者大…

雞蛋學運維-2:Rsync同步配置步驟

說明&#xff1a;系統環境CentOS release 6.5 (Final) 2.6.32-431.el6.x86_64rsync server:配置步驟1、vi /etc/rsyncd.conf#Rsync server#created by lijianfeng 18:26 2017-9-24#rsyncd.conf start#uid rsyncgid rsyncuse chroot nomax connections 2000timeout 600pid…