回分類題庫
d028: 2008 程式達人 B - 系友座談會
出處:

Difficulity : 2
Accepted : 19 Times | Submit :110 Times | Clicks : 1876
Accepted : 13 Users | Submit : 16 Users | Accepted rate : 81%
Time Limit :2001 ms | Memory Limit : 32001 KBytes
題目加入時間 : 2008-10-10 10:25

Content :

強哥與財哥去年成功的逃出侏羅紀島嶼回到系上,馬上面臨大學評鑑,其中一項指標是與畢業同學的聯繫。系主任交代財哥聯絡所有畢業的同學,準備辦個系友會,財哥打開電腦要找畢業同學的電子郵件,沒有想到電腦中毒,檔案遺失不可復得,一個電子郵件都找不到。主任就建議找畢業紀念冊中所留下來的電話,透過電話聯絡也可以。打開畢業紀念冊一看,大家都傻了眼,油墨褪色,所有的電話與地址都看不清楚。才想起來當初印畢業紀念冊的廠商,因為資金被不仁不義的人轉到南洋的獅城,只好用紐巴出廠品質不良的油墨來印刷。現在油墨褪色,所有的電話與地址都看不清楚,只好憑記憶中的電話來聯絡同學。財哥就憑記憶力聯絡了一些系友,再憑系友所擁有的資料,做了如下的表格:

4001  3  2  3   4    
15009  6  3  6  10  11  14003  14020
4012  7  11  13  15  16  19  20  15004
6014  7  1  4  11  13  4005  4007  4008
6007  3  6  7009  7011    
4005  8  2  3  4  6  7  6011  6012  6014
6002  4  1  3  9  13   
4011  4  12  13  15003  15004 
14023  4  24  15016  15017  18008
14024  5  22  23  16008  16009  18008

這個表格代表的意思如下:
  1. 每一行代表一位同學能聯絡到的系友。
  2. 每行的第一個數字是該同學的學號(學號是五個 digits,digits 前兩個代表屆次,後三個 digits 代表座號。譬如說 4001 代表第四屆 1 號(leading zero不會顯示),15009 代表 15 屆 9 號)。
  3. 每行的第二個數字是該同學能聯絡到幾個人(如 4001 能聯絡到 3 個人,15009 能聯絡到 6 個人)。
  4. 每行的第三個數字起是該同學所能聯絡到的同學的學號(如果是同屆的同學就只記錄座號)。譬如 4001 所能聯絡到的三個系友的學號是 4002, 4003, 與 4004(因為都是同一屆,所以只記錄 2 號,3 號與 4 號);15009 能聯絡到的六個系友中,前四個是第 15 屆的系友(座號分別為 3, 6, 10, 11),後兩位是第 14 屆的系友(14003與14020)。
  5. 同時,A 系友如果能聯絡到 B 系友,B 系友也就可以聯絡上 A 系友。

有了這些資料,財哥聯絡了所有資料中的同學,成功的舉辦了一次系友會,大家開開心心的聚會。

兩個星期後,系主任想找一些系友舉辦小型的座談,就擬了一個名單(只有學號的名單),要財哥聯絡這些同學。可是財哥度假去了(也許身陷另一座恐龍島無法及時趕回來)還沒有製作新的通訊錄,只好自己聯絡名單中第一位同學,請那位同學聯絡名單上其他的人。由於還沒有新的通訊錄,同學只有當初他所記得的資料,就把名單傳給所有他能聯絡上的同學,請大家去聯絡名單上其他的同學。

系主任其實不確定這樣是不是能聯絡到所有名單上的系友,但評鑑的事情讓他焦頭爛額,挪不出時間來追蹤這個問題。想找同學協助,可是研究生急著趕論文畢業、四年級的同學去畢業旅行了、三年級的同學有的忙著交朋友、有的忙者準備研究所考試,只剩下一、二年級的同學比較有空,就問一、二年級的同學能幫忙回答嗎?

Input :

  1. 第一部份如上述的表格。(資科系目前畢業了 20 屆畢業生,每屆最多 100 個同學,每個同學記憶力有限,最多只記得 15 位同學。)
  2. 第二部份為要聯絡之系友的名單。
    • 甲、 此一部份資料緊接在第一部份資料之後(換新行)。
    • 乙、 此一部份資料中可能包含好幾份名單。
    • 丙、 每份名單都有起使行,包含一個 < 100的正整數,表示名單的編號。(名單編號按順序從1開始編號,最多100份名單。)
    • 丁、 每份名單第二行起包含若干個學號。每個學號可能是四位數或五位數,最右方的三位數為座號,左方的一或兩位數為屆次號。
    • 戊、 如果學號後有另一份名單,必定新起一行,表達第幾份名單,其後換行再接上該名單中的學號。

Output :

每一列兩個整數:名單的編號 與 1 (名單中所有人都能聯絡上) 或 0 (無法聯絡名單上所有的人)

Sample Input :

1002  4  5  6  7  10  
1003  3  4  9  10              
1004  5  3  6  8  9  10 
1005  3  2  6  7              
1006  6  2  4  5  7  8  10        
1007  7  2  5  6  8  18  19  20  
1008  4  4  6  7  20 
1009  4  3  4  12  13 
1010  8  2  3  4  6  13  15  16  17
1011  3  12  14  19
1012  5  9  11  13  14  15 
1013  4  9  10  12  15            
1014  3  11  12  15 
1015  3  10  12  14 
1016  2  10  17 
1017  2  10  16 
1018  2  7  9009
1019  3  7  11  20 
1020  3  7  8  19
9009  1  1018
1
1008  1017  1004  9009  1023
2
1019  1002  1005  1004  1009  1020  1017  9009  1017  1003  1006
3
1019  1002  1005  1018  1009  1020  1017  9009  1017  1003  1006

Sample Output :

1 0
2 1
3 1

Hint :

解題率:0/19

Author :

(管理員:MrWrongAnswer)

  Solve it!   Status Forum (2)

C++
C
JAVA
23289. bleed1979 (2 ms , 477KB)
54975. johnny (6 ms , 226KB)
39312. king_of_laba (8 ms , 429KB)
39301. cp99703032 (10 ms , 421KB)
36837. nothinglo (12 ms , 728KB)
54933. ag100 (1 ms , 240KB)
6967. yuhanlyu (2 ms , 584KB)
54929. ag100 (4 ms , 250KB)
54934. ag100 (5 ms , 248KB)
54931. ag100 (5 ms , 250KB)
沒有解題記錄

執行時間會受很多因素影響因此僅供參考,主機等級請看這裡