題目描述
在程式設計師編寫程式的時候,通常會引用其他檔案,而引用的檔案也會引用其它的標頭檔案。但是出現迴圈引用的現象編譯時便會報錯。例如a引用了b,b引用了c,c引用了a,那麼就產生了迴圈引用(circular reference)。考慮另外乙個情況,a引用了b和c,b引用d,c引用d,雖然d被引用了兩次,但是沒有出現迴圈引用。
輸入第一行是乙個整數t,代表測試資料的組數。每組資料中第一行是乙個整數n,代表有多少個引用關係。接下來n行每行有2個字串a,b,用空格分隔,代表a引用了b。其中t<=50, n<=10^5,每個字串的長度不超過100。
輸出共t行。若不會產生編譯錯誤則輸出passed,否則輸出failed。
樣例輸入
2
8client.cpp client.h
client.h server.h
server.cpp server.h
server.h common.h
client.h common.h
common.cpp common.h
common.h gtest.h
common.h glog.h
4work.cpp client.cpp
client.cpp server.cpp
server.cpp adhoc.cpp
adhoc.cpp work.cpp
樣例輸出
passed
failed
#include
using
namespace std;
const
int maxn=
1e5+10;
int n;
vector<
int>v[maxn]
;mapint>mp;
int d[
1000];
intmain()
if(mp.
count
(b)==0)
v[mp[a]].
push_back
(mp[b]);
d[mp[b]]++
;}int num=0;
queue<
int>q;
for(
int i=
0;iwhile
(q.empty()
!=1) num++
; v[u]
.clear()
;}//cout(num==n)cout<<
"passed"
/如果num==n,則拓補排序成功
else cout<<
"failed"
clear()
;}return0;
}
mk編譯錯誤
要在工程 中加乙個巨集去控制 在config.mk中定義這個巨集 enable it6263 1 在compile option.mk中根據這個值來定義巨集 ifeq enable it6263 1 cc opts denable it6263 1 else cc opts denable it62...
Greta 編譯錯誤
背景 greta2.6.4在vs2008編譯通過,在vs2013中,編譯出現以下錯誤 1 regexpr2.cpp 1 c users administrator desktop greta greta restack.h 56 error c2332 struct 缺少標記名 1 c users ...
c 編譯錯誤
一.變數未定義的引用 1.如果變數是類中的靜態成員,需要先在類外部初始化。否則會出現此種錯誤 二。標頭檔案包含了,卻報 zsp ipc proxy client.hh 8 1 錯誤 expected class name before endif 注意不能包含這些函式所在庫的標頭檔案。比如info ...