藍橋杯 演算法提高 卡勒沃夫之弱水路三千 提高型

2021-09-02 22:32:59 字數 1807 閱讀 8704

錦瑟年華誰與度 莫問情歸處 隻影向斜陽 劍吼西風 欲把春留駐

天涯芳草無歸路 回首花無數 解語自銷魂 弱袂縈春 塵緣不相誤

在卡勒沃夫充滿文學殺傷力的聲音中,身處紫荊2號樓202b的四位遠近高低各不同的室友紛紛回憶起了各自波瀾起伏的過去,並對長在百草園,鄰有百花谷的現狀表達了各自的見解。

某q:"…我小學就開竅了…她的父母說我很好,但是…今天又和北林的聯絡了…"

某x:"…差點就成了,結果到學校了…這個方法放假了我去對我的同桌用!…"

某w:"…"(千言萬語不言中,有大量的故事等待考古)

某z:"…為了來清華…咱們審美觀不一樣,不會搶…"

卡勒沃夫在這個不朽的夜話中蒐集出了某人零散的歷任女友資料,為了強迫某人將他出的題目的標程交出,現在卡勒沃夫需要乙個能將這些零散資訊整合起來的程式。伴隨著雄壯委婉動人的**,身為程式設計快男(超女)的你降臨了!卡勒沃夫正對著您做orz狀並請求著:「神牛啊請施捨給我一段程式把偶公尺頭髮~」。。

輸入描述:

第一行為乙個不超過5的整數t,表示資料的組數。之後每組資料的一行為乙個不超過100的整數n。之後n行每行有兩個用單個空格隔開的字串(每個字串只有英文大小寫字母,長度不超過10),為兩位mm的名字。每行第乙個mm先於第二個mm成為某人的女友。

在這裡我們假裝詛咒某人不會同時被兩個或兩個以上mm泡,某個mm拋棄了某人後不會再吃回頭草,同時卡勒沃夫深邃的洞察力使得他收集到了充足的資訊以確定某人女友的先後順序。

在小資料組中出現的人物不超過13個

輸入樣例:22

ry unknown

ysz ry

3tomorrow yestoday

tomorrow today

today yestoday

輸出描述:

輸出t行,每行對應一組資料,並按照mm們從先到後成為某人女友的順序輸出她們的名字,各個名字間用乙個空格隔開。

輸出樣例:

ysz ry unknown

tomorrow today yestoday

此題中說了mm們不吃回頭草,因此可將此看作是有向無環圖,因此可用拓撲排序輸出順序。可參考介紹拓撲排序的部落格:拓撲排序

此題中說了此人不會同時被兩人以上mm泡,因此每次入讀為1的節點只有乙個,因此可只用乙個變數存起來,若有多個可考慮用佇列queue按順序輸出。

要注意的是輸出時要嚴格按照規定的格式,每行末尾不要有空格!

#include

#include

#include

#include

#include

using namespace std;

intmain()

if(!i***ist.

count

(s2)

) table[s1]

.push_back

(s2)

; in[s2]++;

}for

(mapint>

::iterator it=in.

begin()

;it!=in.

end(

);it++)}

while

(!table.

empty()

)}in.

erase

(iszero)

; table.

erase

(temp);if

(!table.

empty()

) cout<<

" ";}if

(t!=

0) cout<}return0;

}

卡勒沃夫之弱水路三千 提高型

輸入格式 第一行為乙個不超過5的整數t,表示資料的組數。之後每組資料的一行為乙個不超過100的整數n。之後n行每行有兩個用單個空格隔開的字串 每個字串只有英文大小寫字母,長度不超過10 為兩位mm的名字。每行第乙個mm先於第二個mm成為某人的女友。在這裡我們假裝詛咒某人不會同時被兩個或兩個以上mm泡...

藍橋杯 演算法提高 change

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 陣列a中共有n個元素,初始全為0。你可以對陣列進行兩種操作 1 將陣列中的乙個元素加1 2 將陣列中所有元素乘2。求將陣列a從初始狀態變為目標狀態b所需要的最少運算元。輸入格式 第一行乙個正整數n表示陣列中元素的個數 第二行n個正整...

彩票 (藍橋杯 演算法提高 )

為豐富男生節活動,貴系女生設定彩票 環節,規則如下 1 每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為 1,33 2 每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼 3 共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如下 特等獎 要求彩票上的7個號碼都出現在中獎號碼中 一等獎...