回分類題庫
d020: 98年彰雲嘉區第五題
關鍵字: 98年彰雲嘉區複賽

測資點 : 8 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 57 Times / 49 Users | Submit : 171 Times / 55 Users | Accepted rate : 89%
題目加入時間 : 2011-09-11 23:32

Content: 简体中文

檢查是否存在迴圈,若是則列出迴圈。輸入資料中,每行記錄連線的兩個端點的名稱,方向是從第一個端點連接到第二個端點。每個端點以一個英文字母表示,兩個端點間以空白分隔。例如:G D,代表G連接到D(G→D)。

請寫一程式,讀取輸入資料後,檢查圖形是否存在迴圈,若是則列出迴圈所組成之端點(如有多組迴圈請分行列出)。

Input:

輸入資料有多行,每行有兩個以空白分隔的大寫英文字母 A、B,代表 A→B 是連通的。(註:可用 cin.fail() 檢查輸入資料是否結束)

Output:

請輸出「存在迴圈」或「不存在迴圈」,若存在迴圈,則將該迴圈所組成之端點列出,以字母順序最小的端點優先輸出,例如 A B C、B C A、C A B 是同一個迴圈,則請輸出 A B C。而有多組迴圈的情形,則同樣按字母順序輸出。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
範例1:
G D
A B
D A

範例2:
G D
A B
D A
A G

Sample Output :

範例1:
不存在迴圈

範例2:
存在迴圈
A G D

Hint :

Author :

98年彰雲嘉區複賽 (管理員:sagit)

  Solve it!   Status Forum