hihocoder 1174 拓撲排序模板

2021-08-09 17:22:50 字數 1511 閱讀 9707

描述

由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。

小ho:小hi,你這學期有選什麼課麼?

小hi:挺多的,比如***1,***2還有***3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。

小ho:先修課**是個麻煩的東西呢。

小hi:沒錯呢。好多課程都有先修課程,每次選課之前都得先查查有沒有先修。教務公布的先修課程記錄都是好多年前的,不但有重複的資訊,好像很多都不正確了。

小ho:課程太多了,教務也沒法整理吧。他們也沒法乙個乙個確認有沒有寫錯。

小hi:這不正是輪到小ho你出馬的時候了麼!

小ho:哎??

我們都知道大學的課程是可以自己選擇的,每乙個學期可以自由選擇打算學習的課程。唯一限制我們選課是一些課程之間的順序關係:有的難度很大的課程可能會有一些前置課程的要求。比如課程a是課程b的前置課程,則要求先學習完a課程,才可以選擇b課程。大學的教務收集了所有課程的順序關係,但由於系統故障,可能有一些資訊出現了錯誤。現在小ho把資訊都告訴你,請你幫小ho判斷一下這些資訊是否有誤。錯誤的資訊主要是指出現了"課程a是課程b的前置課程,同時課程b也是課程a的前置課程"這樣的情況。當然"課程a是課程b的前置課程,課程b是課程c的前置課程,課程c是課程a的前置課程"這類也是錯誤的。

輸入第1行:1個整數t,表示資料的組數t(1 <= t <= 5)

接下來t組資料按照以下格式:

第1行:2個整數,n,m。n表示課程總數量,課程編號為1..n。m表示順序關係的數量。1 <= n <= 100,000. 1 <= m <= 500,000

第2..m+1行:每行2個整數,a,b。表示課程a是課程b的前置課程。

輸出第1..t行:每行1個字串,若該組資訊無誤,輸出"correct",若該組資訊有誤,輸出"wrong"。

樣例輸入

2

2 21 2

2 13 2

1 21 3

樣例輸出

wrong

correct

日常板子。。。

#include#includeusing namespace std;

struct edgea[500001];

int t,n,m,h[100001],indegree[100001],line[100001],top,bj;

void bfs()

int main()

for (int j=1;j<=n;j++)

if (!indegree[j])line[++top]=j;

bj=1;

while (bj<=top)

bfs();

int t=0;

for (int j=1;j<=n;j++)

if (indegree[j])

if (t==1) printf("wrong\n");

else printf("correct");

} return 0;

}

hihocoder1174 拓撲排序1

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個...

1174 拓撲排序 一

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個...

1174 拓撲排序 一 模板題

題目鏈結 描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個麻煩的東西呢。小hi 沒錯呢。好多課程都有先修課程,每次選課之前...