题目是这样的 
IP地址最大前缀匹配
描述:
在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: 
IP地址和子网地址匹配:IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子网匹配。
比如:
IP地址:192.168.1.100
子网:192.168.1.0/255.255.255.0,其中192.168.1.0是子网地址,255.255.255.0是子网掩码。
192.168.1.100&255.255.255.0 = 192.168.1.0,则该IP和子网192.168.1.0匹配 
IP地址:192.168.1.100
子网:192.168.1.128/255.255.255.192
192.168.1.100&255.255.255.192 = 192.168.1.64,则该IP和子网192.168.1.128不匹配最大前缀匹配:
任何一个IPv4地址都可以看作一个32bit的二进制数,比如192.168.1.100可以表示为:11000000.10101000.00000001.01100100,
192.168.1.0可以表示为11000000.10101000.00000001.00000000
最大前缀匹配要求IP地址同子网地址匹配的基础上,二进制位从左到右完全匹配的位数尽量多(从左到右子网地址最长)。比如:
IP地址192.168.1.100,同时匹配子网192.168.1.0/255.255.255.0和子网192.168.1.64/255.255.255.192,
但对于子网192.168.1.64/255.255.255.192,匹配位数达到26位,多于子网192.168.1.0/255.255.255.0的24位,
因此192.168.1.100最大前缀匹配子网是192.168.1.64/255.255.255.192。
请编程实现上述最大前缀匹配算法。输入:
IP地址,用例保证是合法IPv4地址形式的字符串
子网地址数量
子网地址列表,每行一个子网,包括子网地址和掩码,用'/'分开。用例保证是合法形式的字符串。
输出:
最大前缀匹配位数
样例输入:
192.168.1.100
4
192.168.1.128/255.255.255.192
192.168.1.0/255.255.255.0
192.168.1.64/255.255.255.192
0.0.0.0/0.0.0.0
样例输出:
26