当前位置: 首页 > news >正文

模拟 2015百度之星资格赛 1003 IP聚合

 

题目传送门

 1 /*
 2     模拟水题,排序后找出重复的ip就可以了
 3 */
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <cstring>
 8 #include <string>
 9 #include <cmath>
10 using namespace std;
11 
12 const int MAXN = 1e3 + 10;
13 const int INF = 0x3f3f3f3f;
14 struct Ip
15 {
16     int a, b, c, d;
17 }ip[MAXN];
18 struct H
19 {
20     int a, b, c, d;
21 }h[MAXN];
22 int ans[55];
23 
24 bool cmp(H x, H y)
25 {
26     if (x.a == y.a)
27     {
28         if (x.b == y.b)
29         {
30             if (x.c == y.c)    return x.d < y.d;
31             else    return x.c < y.c;
32         }
33         else    return x.b < y.b;
34     }
35     else    return x.a < y.a;
36 }
37 
38 int main(void)        //2015百度之星资格赛 1003 IP聚合
39 {
40     int t, cas = 0;
41     scanf ("%d", &t);
42     while (t--)
43     {
44         int n, m;    scanf ("%d%d", &n, &m);
45         for (int i=1; i<=n; ++i)
46             scanf ("%d.%d.%d.%d", &ip[i].a, &ip[i].b, &ip[i].c, &ip[i].d);
47 
48         memset (ans, 0, sizeof (ans));
49         for (int i=1; i<=m; ++i)
50         {
51             int u, v, w, x;
52             scanf ("%d.%d.%d.%d", &u, &v, &w, &x);
53             for (int j=1; j<=n; ++j)
54             {
55                 h[j].a = (ip[j].a & u);    h[j].b = (ip[j].b & v);
56                 h[j].c = (ip[j].c & w);    h[j].d = (ip[j].d & x);
57             }
58 
59             sort (h+1, h+1+n, cmp);
60 
61             int cnt = 0;
62             for (int k=2; k<=n; ++k)
63             {
64                 if (h[k].a == h[k-1].a &&
65                     h[k].b == h[k-1].b &&
66                     h[k].c == h[k-1].c &&
67                     h[k].d == h[k-1].d)    cnt++;
68             }
69 
70             ans[i] = (n - cnt);
71         }
72 
73         printf ("Case #%d:\n", ++cas);
74         for (int i=1; i<=m; ++i)    printf ("%d\n", ans[i]);
75     }
76 
77     return 0;
78 }
79 
80 /*
81 2
82 5 2
83 192.168.1.0
84 192.168.1.101
85 192.168.2.5
86 192.168.2.7
87 202.14.27.235
88 255.255.255.0
89 255.255.0.0
90 4 2
91 127.127.0.1
92 10.134.52.0
93 127.0.10.1
94 10.134.0.2
95 235.235.0.0
96 1.57.16.0
97 */

 

转载于:https://www.cnblogs.com/Running-Time/p/4544630.html

相关文章:

  • 增值税发票管理解决方案
  • SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)...
  • Ubuntu 下 Mysql 新建数据库和用户
  • 运维角度浅谈MySQL数据库优化
  • springmvc常用的组件,注解,跳转
  • Codeforces Round #306 (Div. 2) E. Brackets in Implications 构造
  • ZH奶酪:【数据结构与算法】并查集基础
  • lnmp 在nginx中配置相应的错误页面error_page
  • Android 官方命令深入分析之Android Debug Bridge(adb)
  • 使用cardme读写VCard文件,实现批量导入导出电话簿
  • 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法
  • 做基准测试时tpcc相关注意点
  • 分享一个 ftp下载、解压、更新依赖库文件的 python 脚本
  • wifi的web 认证。
  • Servlet开篇
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • Angularjs之国际化
  • Git的一些常用操作
  • Java教程_软件开发基础
  • JDK 6和JDK 7中的substring()方法
  • Mithril.js 入门介绍
  • Mysql优化
  • PAT A1050
  • pdf文件如何在线转换为jpg图片
  • Puppeteer:浏览器控制器
  • SegmentFault 2015 Top Rank
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • windows下使用nginx调试简介
  • 如何在 Tornado 中实现 Middleware
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​MySQL主从复制一致性检测
  • # centos7下FFmpeg环境部署记录
  • # 数论-逆元
  • #预处理和函数的对比以及条件编译
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十六)一篇文章学会Java的常用API
  • (推荐)叮当——中文语音对话机器人
  • (转)创业家杂志:UCWEB天使第一步
  • (转)人的集合论——移山之道
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .form文件_一篇文章学会文件上传
  • .Net 高效开发之不可错过的实用工具
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .sh
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [Codeforces] combinatorics (R1600) Part.2
  • [emacs] CUA的矩形块操作很给力啊
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引