1211 - 子网掩码

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

请看以下示例:

运算演示之一: IP地址  192.168.0.1
子网掩码  255.255.255.0

转化为二进制进行运算:
IP地址  11000000.10101000.00000000.00000001
子网掩码: 11111111.11111111.11111111.00000000

AND运算: 11000000.10101000.00000000.00000000

转化为十进制后为: 192.168.0.0

运算演示之二: IP地址  192.168.0.254 子网掩码  255.255.255.0

转化为二进制进行运算: IP地址  11000000.10101000.00000000.11111110
子网掩码 11111111.11111111.11111111.00000000

AND运算:11000000.10101000.00000000.00000000

转化为十进制后为:   192.168.0.0

运算演示之三:
IP地址  192.168.0.4
子网掩码  255.255.255.0

转化为二进制进行运算:
IP地址  11000000.10101000.00000000.00000100
子网掩码 11111111.11111111.11111111.00000000

AND运算:11000000.10101000.00000000.00000000

转化为十进制后为:   192.168.0.0

通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的,均为192.168.0.0,所以计算机就会把这三台计算机视为在同一子网络。

输入

输入的第一行是本机IP地址; 第二行是子网掩码; 第三行是一个整数N,表示后面有N个IP地址; 接下来N行: 第1个IP地址 ... ... 第N个IP地址

1<=N<=100

输出

计算并输出N个IP地址是否与本机在同一子网内。对于在同一子网的输出“INNER”,对于在不同子网的输出“OUTER”。

样例

输入

192.168.0.1
255.255.255.0
3
192.168.0.2
192.168.0.254
192.168.1.2

输出

INNER
INNER
OUTER

提示

AND在编程术语中表示一种运算方法,不可逆 常用符号:&(按位与),&&(逻辑与) 其运算规则如下: 1&1=1; 真&&真=真; 1&0=0; 真&&假=假; 0&1=0; 假&&真=假; 0&0=0; 假&&假=假;

来源

基础题-2.模拟

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题