首页 > 试题广场 >

Security 公司的网络管理工程师Mr. leak最近发

[问答题]

Security 公司的网络管理工程师Mr. leak最近发现有不少来自公司外部IP的请求,试图非法访问公司内部资源,为了不影响数据访问流程。他不得不写一个高效的程序——一个工作在Ipv4上 的防火墙,如果请求来自非授权的ip地址,则将请求丢弃。为了便于管理,通过文本文件IP.TXT来配置授权的IP地址,文件格式为每行(’/n’)一个 IP地址(或IP段),范围不超过一个B类。例如:
162.105.91.163
59.66.105.0 59.66.105.255
211.71.0.0 211.71.255.255
限制:IP段的起止地址间以空格隔开。文件不超过10万行,内存不超过4M字节。
要求:请编写一个程序,读入IP.TXT文件。并从标准输入接受一个IP地址。如果该地址在授权范围内,则在标准输出上打印Y,否则打印N.如果 输入为一个空行,程序结束。
请给出思路(文字描述),完成代码,分析你采用算法的优劣。请列举测试方法和思路

先把地址转成unsigned int, 0到2^32-1的范围,然后构造线段树,不用完全构造,只要保证叶子节点 表示的地址范围全部为合法或全部为不合法即可。
发表于 2017-03-17 23:22:02 回复(1)