题目传送门

 /*
模拟水题,排序后找出重复的ip就可以了
*/
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
using namespace std; const int MAXN = 1e3 + ;
const int INF = 0x3f3f3f3f;
struct Ip
{
int a, b, c, d;
}ip[MAXN];
struct H
{
int a, b, c, d;
}h[MAXN];
int ans[]; bool cmp(H x, H y)
{
if (x.a == y.a)
{
if (x.b == y.b)
{
if (x.c == y.c) return x.d < y.d;
else return x.c < y.c;
}
else return x.b < y.b;
}
else return x.a < y.a;
} int main(void) //百度之星资格赛 1003 IP聚合
{
int t, cas = ;
scanf ("%d", &t);
while (t--)
{
int n, m; scanf ("%d%d", &n, &m);
for (int i=; i<=n; ++i)
scanf ("%d.%d.%d.%d", &ip[i].a, &ip[i].b, &ip[i].c, &ip[i].d); memset (ans, , sizeof (ans));
for (int i=; i<=m; ++i)
{
int u, v, w, x;
scanf ("%d.%d.%d.%d", &u, &v, &w, &x);
for (int j=; j<=n; ++j)
{
h[j].a = (ip[j].a & u); h[j].b = (ip[j].b & v);
h[j].c = (ip[j].c & w); h[j].d = (ip[j].d & x);
} sort (h+, h++n, cmp); int cnt = ;
for (int k=; k<=n; ++k)
{
if (h[k].a == h[k-].a &&
h[k].b == h[k-].b &&
h[k].c == h[k-].c &&
h[k].d == h[k-].d) cnt++;
} ans[i] = (n - cnt);
} printf ("Case #%d:\n", ++cas);
for (int i=; i<=m; ++i) printf ("%d\n", ans[i]);
} return ;
} /*
2
5 2
192.168.1.0
192.168.1.101
192.168.2.5
192.168.2.7
202.14.27.235
255.255.255.0
255.255.0.0
4 2
127.127.0.1
10.134.52.0
127.0.10.1
10.134.0.2
235.235.0.0
1.57.16.0
*/

最新文章

  1. AssetsManagerEx 组件使用说明
  2. UIWebView中加载HTML的Table,td设置百分比宽度并且宽度不被里面的内容撑开
  3. How Google Tests Software - The Life of a TE
  4. JS生成随机的由字母数字组合的字符串
  5. escape()、encodeURI()、encodeURIComponent() difference
  6. MySQL锁监视器
  7. 函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。
  8. TCP/IP详解学习笔记(8)-- UDP:用户数据报协议
  9. [Cocos2d-x for WP8学习笔记] HelloWorld
  10. iOS 最新版 CocoaPods 的安装使用
  11. .net+easyui系列--Pagination 分页
  12. arcgis数据文件使用
  13. [译]Selenium Python文档:五、Waits等待
  14. Java内部类与外部类
  15. Promise异步操作
  16. 用document.readyState实现网页加载进度条
  17. 潭州课堂25班:Ph201805201 爬虫基础 第八课 selenium (课堂笔记)
  18. [翻译].NET Core 3 Preview1和Windows桌面框架开源
  19. Oracle 11.2.0.4在线(Online mode)打补丁14084247解决WRH$_ACTIVE_SESSION_HISTORY不会自动切割的问题
  20. &lt;a&gt;设置长宽

热门文章

  1. ViewGroup如何分发事件
  2. WIN7不能被远程桌面问题
  3. SpringBoot项目 部署到服务器的tomcat下
  4. Mac OS用vmvare安装多节点kubernetes
  5. yum 安装 mysql
  6. swing_AbstractTableModel 创建表格
  7. HashTable HashMap区分
  8. nginx配置实战以及查看并发数
  9. Silverlight 2中实现文件上传和电子邮件发送
  10. string类中运算符重载实现