1099.同网CS
提交状态 耗时 内存 语言 提交时间

1099.同网CS

时间限制:1000MS  内存限制:65535KB
题目描述

小明同学最近新购置了电脑,想和其他同学玩CS,但是建了局域网游戏之后,别人加不进来,自己也进不了别人的主机,非常苦恼。于是来请教同宿舍的“科技怪人”小犀,小犀说了句“你的IP和我们不在同一个子网”就闪了,小明百度了一下,搜到如下关于“子网掩码”的信息:子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网里面,可以进行直接的通讯。

运算演示之一:

I P 地址  192.168.0.1

子网掩码  255.255.255.0

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000

转化为十进制后为:

      192.168.0.0

运算演示之二:

I P 地址  192.168.0.254

子网掩码  255.255.255.0

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.11111110

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000

转化为十进制后为:

      192.168.0.0

运算演示之三:

I P 地址  192.168.0.4

子网掩码  255.255.255.0

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.00000100

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000

转化为十进制后为:

      192.168.0.0

通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0

所以计算机就会把这三台计算机视为是同一子网。

小明灵机一动,打算做一个帮助大家解决局域网游戏问题的工具,设想如下:

我知道我的电脑的IP和子网掩码,又知道另外几个同学的ip地址,通过这个工具就可以知道我可以和谁一起CS。

IP寻址规则:

A.网络标识不能以数值127开头(以127开头的地址为特殊地址,比如127.0.0.1是loopback IP)

B.网络标识第一个字节不能是255和0

C.IP每个字段不能大于255

子网掩码:

A. 不能全部是255;

B. 不能全部是0;

C. 掩码的高位(bit)必须是连续的1; 例如 : 255.255.252.0 --> 11111111.11111111.11111100.00000000 按照Bit来看1和0的位必须是连续的,而掩码高位都是1,所以有时候会见到 错误 : 255.255.253.0 --> 11111111.11111111.11111101.00000000 这里就出现bit为1但没有连续的情况,这种掩码是不正确的

输入描述

第一行是我的电脑的IP地址

第二行是我的电脑的子网掩码

第三行整数N,表示后面N个同学的IP地址

第1个同学的IP地址

......

第N个同学的IP地址

输出描述

计算并输出N个IP地址是否与我的电脑在同一子网内。

对于在同一子网的输出:let's rock

对于在不同子网的输出:not you

对于无效的联网IP输出:Invalid IP address.

对于无效的子网掩码:Invalid netmask address.

示例
输入样例
192.168.0.1
255.255.255.0
3
192.168.0.2
192.168.0.200
192.168.2.2
输出样例
let's rock
let's rock
not you
提示
input 1
10.144.240.73
255.252.253.0
output 1
Invalid netmask address.
input 2
10.144.240.256
output 2
Invalid IP address.
input 3
192.168.29.1
255.255.255.0
2
127.0.0.1
192.168.29.100
output 3
Invalid IP address.
let's rock
相关标签
没有任何标签
登陆后才可以提交
测试输入
执行结果
控制台
代码编辑器配置
  • 字体设置
    调整适合你的字体大小。
  • 主题设置
    切换不同的代码编辑器主题,选择适合你的语法高亮。
  • 行宽限制
    设置每一行代码的最大字符个数,设置为0则不限制。