题目描述:
在后端服务中需要对恶意IP进行限制,设计一个IP过滤器,实现对IP访问限制功能,对于限制IP有三种形式:
(1) 全IP:例:222.205.58.16; (2)前面带*:例:*.58.16(3)后面带*:例:222.205.58.*
带*的代表匹配到任意IP段均可,*可代表多个IP 段,并且*只能出现在开头或者结尾;
输入描述:
输入第一行是过滤规则的条数N和需要过滤的IP的数量M,之后N行为IP过滤的规则并合法,在之后的M行为需不需要判断被过滤。N<100,M<50。
输出描述:
0:表示IP不需要被过滤;1:则反之;
总共M条需要被判断的IP以空格作为区分;
示例:
输入:
5 4
222.205.58.16
*.58.16
222.205.58.*
*.16
224.*
222.205.58.17
222.205.59.19
223.205.59.16
224.205.59.22
输出:
1 0 1 1
代码实现:
/* IP过滤器*/
#include<iostream>
#include <string>
using namespace std;
bool fun( string str1[],string str2,int N,int M)
{
int m = 0;