头文件循环依赖,指 a.h 包含 b.h,b.h 包含 c.h,c.h 包含 a.h。
头文件循环依赖的缺点是,任一头文件修改,会导致循环依赖环的所有相关文件都需要重新编译,大大降低开发效率。
现开发一个工具,用来检测头文件是否循环依赖,若有循环依赖,则给出循环依赖的环中包含的文件数量。
用例保证至多只有一个循环依赖。没有循环包含头文件,因此返回 −1 .
3
a.h b.h c.h
b.h d.h
d.h a.h
第一行一个整数 n ,表示记录数。
(1<=n<=1000) 其后每一行,a.h b.h c.h,表示头文件 a.h 包含了两个头文件。
3
解释:
a.h包含b.h
b.h包含d.h
d.h包含a.h
形成一个环,环中的头文件数量为 3 个: a.h、b.h、d.h
输入
3
a.h b.h c.h
b.h d.h
d.h a.h
输出
3
说明
a.h 包含 b.h
b.h 包含 d.h
d.h 包含 a.h 形成一个环,
环中的头文件数量为 3 个: a.h、b.h、d.h
输入
3
a.h b.h
b.h c.hd.h e.h
输出
-1
说明
无循环调用,返回 −1
文件名格式:
1.采用dos 8.3格式,区分大小写
2.只包含英文字母和至多一个点号分隔符
扫码备注加群即可,期待您的到来~