時間限制:10000ms
單點時限:1000ms
記憶體限制:256mb
描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。
小ho:小hi,你這學期有選什麼課麼?
小hi:挺多的,比如***1,***2還有***3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。
小ho:先修課**是個麻煩的東西呢。
小hi:沒錯呢。好多課程都有先修課程,每次選課之前都得先查查有沒有先修。教務公布的先修課程記錄都是好多年前的,不但有重複的資訊,好像很多都不正確了。
小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
wrongcorrect
#includeusing namespace std;
const int n=1e6;
vectorve[n];
int indeg[n];
int n,m;
queueq;
bool tosort()
while(!q.empty())
}if(num==n) return true;
else return false;
}int main()
if(tosort()) puts("correct");
else puts("wrong");
}return 0;
}
1174 拓撲排序 一 模板題
題目鏈結 描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個麻煩的東西呢。小hi 沒錯呢。好多課程都有先修課程,每次選課之前...
hihocoder 1174 拓撲排序模板
描述 由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個麻煩的東西呢。小hi 沒錯呢。好多課程都有先修課程,每次選課之前都得先查...
hihocoder1174 拓撲排序1
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述由於今天上課的老師講的特別無聊,小hi和小ho偷偷地聊了起來。小ho 小hi,你這學期有選什麼課麼?小hi 挺多的,比如 1,2還有 3。本來想選yyy2的,但是好像沒有先選過yyy1,不能選yyy2。小ho 先修課 是個...