IP地址的计算问题,输出对IP地址判断的结果,谢谢

Problem Description
Professor X is an expert in network security. These days, X is planning to build a powerful network firewall, which is called Good Firewall (a.k.a., GFW). Network flows enter in the GFW will be forwarded or dropped according to pre-established forwarding policies.

Basically, a forwarding policy P is a list of IP subnets, {ip_subnet_1, …, ip_subnet_n}. If P is enabled in GFW, a network flow F with source and destination IP address both located in P can be accepted and forwarded by GFW, otherwise F will be dropped by GFW.

You may know that, an IP address is a 32-bit identifier in the Internet, and can be written as four 0~255 decimals. For example, IP address 01111011.00101101.00000110.01001110 can be expressed as 123.45.6.78. An IP subnet is a block of adjacent IP address with the same binary prefix, and can be written as the first IP address in its address block together with the length of common bit prefix. For example, IP subnet 01111011.00101101.00000100.00000000/22 (123.45.4.0/22) is an IP subnet containing 1024 IP addresses, starting from 123.45.4.0 to 123.45.7.255. If an IP address is in the range of an IP subnet, we say that the IP address is located in the IP subnet. And if an IP address is located in any IP subnet(s) in a policy P, we say that the IP address is located in the policy P.

How will you design the GFW, if you take charge of the plan?

Input
The input file contains no more than 32768 lines. Each line is in one of the following three formats:

E id n ip_subnet_1 ip_subnet_2 … ip_subnet_n
D id
F ip_src ip_dst

The first line means that a network policy Pid (1<=id<=1024) is enabled in GFW, and there are n (1<=n <=15) IP subnets in Pid. The second line means that policy Pid (which is already enabled at least once) is disabled in GFW. The last line means that a network flow with source and destination IP address is entered in GFW, and you need to figure out whether GFW is going to forward (F) or drop (D) this flow:

  1. If the source and destination IP address both are located in one of enabled policy group Pid, GFW will forward this flow.

  2. Otherwise GFW will drop this flow. That is, if the source or destination IP address is not located in any of enabled policy group, or they are only located in different enabled policy group(s), GFW will drop it.

IP subnets can be overlapped. An IP address may or may not be located in any policy group, and can also be located in multiple policy groups.

In the global routing table, most of the IP subnets have at least 2^8 IP addresses, and at most 2^24 IP addresses. In our dataset, every IP subnet has a prefix length between 8 and 24.

Output
For each ‘F’ operation, output a single ‘F’ (forward) or ‘D’ (drop) in a single line. Just see the sample output for more detail.

Sample Input
E 1 2 123.45.4.0/22 123.45.8.0/22
F 123.45.4.1 123.45.8.1
F 123.45.8.1 123.45.4.1
E 2 1 123.45.6.0/24
D 1
F 123.45.6.123 123.45.6.234
F 123.45.8.1 123.45.4.1

Sample Output
F
F
F
D

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ip地址ip地址ip地址ip地址ip地址
ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址ip地址
根据ip地址判断输出
将ip输出.php中内容添加到需要使用的php 页面中 qqwry.dat 为数据内容 可从网上下载最新版本 ip.php可以中修改qqwey。dat的路径 此物经过实及测试有效
IP地址输出的问题
给定IP地址范围,比如 192.168.1.10--192.168.2.30,怎么把范围内可用IP以string[]数组的形式返回呢?已经有得到可用IP地址个数的方法。
IP地址工具类 IP地址计算
package com.ticomm.flow.util; import java.util.ArrayList; import java.util.List; /** * 〈一句话功能简述〉&amp;lt;br&amp;gt; * 〈IP地址工具类〉 */ public class IPUtils { public static void main(String[] args) { ...
ip地址判断问题
怎样判断局域网中确实存在ip地址为xxx.xx.xx.x的机器.
ip地址问题,,,谢谢,
当用拨号,,ISDN时,,如何知道自己拨号自己的IP呢,,谢谢
IP地址IP地址IP地址IP地址
IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址
IP地址查询结果
IP地址查询,
ip地址个数的计算
一个IP地址,却关联太多的知识 二进制与 8 比特 电脑中显示出来的数字是 10 进制的,键盘的每一个键都有一个 8 位的二进制,所以 1 字节等于 8 比特。对数字而言,1 的二进制是 00000001 ,255 的二进制 是 11111111,而256的二进制是9为。所以从8比特的概念而言,255是最大值。但是别忘记 0 这个数,从0~255 ,一共是 256 个数,2 的 8  次方
IP地址计算工具
IP地址 计算工具 能够清除的计算出IP地址的范围&IP地址的广播,网关等等!
计算计算机的IP地址
本程序是基于计算计算机IP地址的源码,运行平台VC++6.0.
ip地址计算
<span style="color:#3D3D3D;">本课程详细讲授全国计算机三级网络技术考试的所有重点和考点。并对考试原题中的每一个知识点进行了解释和剖析。 </span><br /><span style="color:#3D3D3D;">课程内容:网络系统结构与设计的基本原则、中小型网络系统总体规划与设计方法、IP地址规划设计技术、路由器设计基础、局域网技术、交换机及其配置、路由器及其配置、无线局域网设备安装与调试、计算机网络信息服务系统的安装与配置、网络安全技术、网络管理技术。</span>
IP地址计算
IP地址分配的计算,帮助大家理解IP地址的相关计算,考试里面常见的题目
IP地址计算练习
常用的IP地址,掩码,子网网络划分,各类地址范围等练习题, 通信和计算机必须掌握的练习!里面有详细的解释和答案说明!
IP地址和子网掩码的计算
各位DX,能帮我讲讲IP地址和子网掩码的计算这方面的问题吗?或告诉我那里有相关的资料。rn 另:《2001网程试题》中有一问:rn给定IP地址为:192.55.12.120,子网屏蔽码为:255.255.255.240,那么子网号是:rn(?);主机号是:(?),直接广播地址是:(?)。rn 能告诉我该怎么算吗?
ip地址 与子网掩码 的计算
128.0.0.0=1  192.0.0.0=2 224.0.0.0=3  240.0.0.0=4  248.0.0.0=5  252.0.0.0=6  254.0.0.0=7  255.0.0.0=8 255.128.0.0=9  255.192.0.0=10  255.224.0.0=11  255.240.0.0=12  255.248.0.0=13 255.252.0.0=14  255....
输出IP地址
C语言实验中的一道题,输出IP地址,这道题不难,适合初步入门C语言
全球IP地址 IP IP地址 IP地址大全
囊括全球的IP地址,分每个国家以一个Excel 工作表.xls文件记录的全球的81个国家的IP地址.
关于IP地址计算的问题???
我下了一个IP地址库(ACCESS的)里面的IP地址存储方式是一串不带点的数字,为什么不是直接的IP地址?rnrnipArray = ip.Split('.');rnrnnumString = (long.Parse(ipArray[0])*256*256*256) + (int.Parse(ipArray[1])*256*256) + (int.Parse(ipArray[2])*256) + int.Parse(ipArray[3])-1;rnrn上面两行程序是把客户端的IP地址进行了处理以便在数据库中做比较,我知道IP共有4段,每段最大值是255,第一行程序把IP分成了数组,第二行进行了计算,这种计算方法我始终都看不明白,哪位老师给讲解一下?
IP地址修改器IP地址修改 IP地址保密 IP地址 IP地址上网不受限
IP地址修改器IP地址修改 IP地址保密 IP地址 IP地址上网不受限
关于计算IP地址的问题.
我有一个IP地址, 173.16.32.8 怎样能算出来它的子网掩码.知道了它的子网掩码,反过来如何能计算它的IP.谢谢!清给以详细的解答.
IP地址判断有效性
IP地址判断有效性标签(空格分隔): OJ_算法1.题目 判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效的IP地址,false,无效的IP地址 约束 输入IP为XXX.XXX.XXX.XXX格式 字符串两端含有空格认为
IP地址判断
输入一个字符串,判断是否是合法的IP地址。 具体的做法是用'.'将字符串进行分割,分割后如果满足:1.有4部分 2.每部分是0-255的整数 则为合法的字符串。 但是由于c++里没有python中的split(貌似boost里有),所以要自己写一个split函数。这里借鉴了别人的写法(一开始我想暴力判断,后来发现行不通,还是要用分割来做)。 代码如下 // 5.cpp : 定义控制台应用程
判断IP地址的工具类
判断IP地址的工具类: /** * Created by zlliu on 17-2-9. */ public class IpUtil { public static final String ACRA_REPORT_ADDRESS = "http://developer.miivii.com:5984/acra-bugreport/_design/acra-storage/_up
IP地址合法性判断
题目描述: 输入一个ip地址串,判断是否合法。 输入: 输入的第一行包括一个整数n(1<=n<=500),代表下面会出现的IP地址的个数。 接下来的n行每行有一个IP地址,IP地址的形式为a.b.c.d,其中a、b、c、d都是整数。 输出: 可能有多组测试数据,对于每组数据,如果IP地址合法则输出"Yes!”,否则输出"No!”。
合法IP地址的判断
如IP段rn10.22.130.1-10.22.130.255rn10.22.125.0-10.22.125.255rnrn只有公网IP在上面两个IP段中的IP才可以访问页面.rnrn<%rnuserip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") rnIf userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR") rn'获得公网IP后.下面应该来写代码?help!rn%>
JSP判断IP地址
刚开始学JSP没多少经验,现在有个问题,一个JSP文件,当点击退出按钮后,先判断客户端的地址段范围,如果是10.XXX.XXX.XXX段的则跳转一个网页,如果是172.XXX.XXX.XXX段的则跳转另一个网页,请问这段代码要怎么写叻?不用获取客户端的真实IP只要当前的IP就行了,也就是不用考虑代理什么的,请各位大神们给点指导。
判断IP地址的正确性
求解:为什么是字符串长度要小于3?rnrnchar strIP[256];rnrn printf("\nPlease Enter IP/Domain.........:"); //12rn scanf("%s",strIP);//从键盘读取需要连接的IP,域名 //13rn[color=#FF0000] if ( strlen(strIP) < 3 ) [/color] printf("\nBad IP/Domain\n"); getch(); return 0; //判断域名的正确性rn printf("\nPort...........%d :",nPort);//显示连接的端口号
判断IP地址
判断IP地址 开发工具与关键技术:Visual Studio 2015,正则表达式 作者:李征世 撰写时间:2019.03.28 首先我们先设计好一个界面,如下图: 需要写一个设计器支持所需的代码方法: public Frm_Main() { InitializeComponent(); } namespace ValidateIP { partial class Frm_Main { /...
JAVA正则表达式判断IP地址
JAVA正则表达式判断IP地址     以下代码对Ip做简单的匹配: public static boolean isIpv4(String ipAddress) { String ip = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." +"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\
IP地址的正则判断
判断总是无效,哪里不对请指教rnrn^([01]?\d\d|2[0-4]\d|25[0-5])\.3[01]?\d\d|2[0-4]\d|25[0-5]$
正则表达式判断IP地址
static bool IsIPAddr(String^ str) { if (!(String::IsNullOrEmpty(str))) { Regex^ rx = gcnew Regex(&quot;^((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)$&quot;, RegexOptions::...
判断IP地址有效性
这个代码实现判断ip地址合法性的功能,已通过测试。
根据ip判断地址!!!
我想做个网站首页,实现这个功能:首先根据用户ip地址判断其所在的城市,然后显示相应城市的旅游景点。我在网上下了一些ip的数据,其显示的地址比较乱也比较详细,而我只需要判断出所在的城市即可。我想是不是可以用ip段来判断?请高手详细讲解下怎么来做!谢谢!
合法IP地址判断
正则表达解释: iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式 下面给出相对应的正则表达式: “^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.” +”(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.” +”(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\...
C# Ip地址判断
新学习 C# 程序 利用 MaskedTextBox 实现 IP 地址输入的判断例子!
ip地址范围判断
ip地址数据库查询库,其数据量是43W多条数据,mysql数据类型,对原来的数据库进行修改,添加两个字段,数字地址起始和结束,方便程序开发过程中使用!
判断外网IP地址
Dim ipHostInfo As IPHostEntry = Dns.Resolve(Dns.GetHostName())rn上述代码将IP地址赋值到ipHostInfo.AddressList()中rnrn如果有多个IP地址(如ADSL,有两个地址.一个本机地址192.168.1.1 一个临时外网IP地址 63.202.65.50(假设)),rn我如何判断那个IP是当前外网IP地址rnrn因为内网(本机)IP地址随便设定,不一定是192.168.开头rn例如:本机IP可能设定为62.201.111.111等任何一个,只要不与外网一样就行.rn所以不能用判断是否192.168.开头来断定.rnrn是否有其他方法?rn
IP地址段判断的问题
就是我有一个asp网站,想实现这样的功能:通过获得访问者的IP,再判断此IP是属于国内IP还是国外的IP,若是国内的IP则直接转向另一个网站,若是国外的IP,则让此访问者访问我的网站,请问各位大侠该如何实现,还请不吝赐教! rn 我现在最主要的难点: rn 1、就是如何判断一个IP是属于国内IP还是国外IP,用asp程序该如何判断 rn 希望知道的大侠能给出完整的程序!谢谢!!! rn
判断IP地址范围的问题
inet_addr 可以把IP地址转换为 长整数rnrn比如 192.168.16.1 转换后是10000 192.168.16.250 转换后为 15000rn这样通过inet_addr转换后可以认为 16.1 - 16.250 就是 10000-15000 之间的数字了 rnrn这种思路有问题没? 可以通过这种方式来判断一个IP地址是不是在设定的范围内么?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法