题目传送门

  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. const int MAXN = 1e3 + ;
  12. const int INF = 0x3f3f3f3f;
  13. struct Ip
  14. {
  15. int a, b, c, d;
  16. }ip[MAXN];
  17. struct H
  18. {
  19. int a, b, c, d;
  20. }h[MAXN];
  21. int ans[];
  22. bool cmp(H x, H y)
  23. {
  24. if (x.a == y.a)
  25. {
  26. if (x.b == y.b)
  27. {
  28. if (x.c == y.c) return x.d < y.d;
  29. else return x.c < y.c;
  30. }
  31. else return x.b < y.b;
  32. }
  33. else return x.a < y.a;
  34. }
  35. int main(void) //百度之星资格赛 1003 IP聚合
  36. {
  37. int t, cas = ;
  38. scanf ("%d", &t);
  39. while (t--)
  40. {
  41. int n, m; scanf ("%d%d", &n, &m);
  42. for (int i=; i<=n; ++i)
  43. scanf ("%d.%d.%d.%d", &ip[i].a, &ip[i].b, &ip[i].c, &ip[i].d);
  44. memset (ans, , sizeof (ans));
  45. for (int i=; i<=m; ++i)
  46. {
  47. int u, v, w, x;
  48. scanf ("%d.%d.%d.%d", &u, &v, &w, &x);
  49. for (int j=; j<=n; ++j)
  50. {
  51. h[j].a = (ip[j].a & u); h[j].b = (ip[j].b & v);
  52. h[j].c = (ip[j].c & w); h[j].d = (ip[j].d & x);
  53. }
  54. sort (h+, h++n, cmp);
  55. int cnt = ;
  56. for (int k=; k<=n; ++k)
  57. {
  58. if (h[k].a == h[k-].a &&
  59. h[k].b == h[k-].b &&
  60. h[k].c == h[k-].c &&
  61. h[k].d == h[k-].d) cnt++;
  62. }
  63. ans[i] = (n - cnt);
  64. }
  65. printf ("Case #%d:\n", ++cas);
  66. for (int i=; i<=m; ++i) printf ("%d\n", ans[i]);
  67. }
  68. return ;
  69. }
  70. /*
  71. 2
  72. 5 2
  73. 192.168.1.0
  74. 192.168.1.101
  75. 192.168.2.5
  76. 192.168.2.7
  77. 202.14.27.235
  78. 255.255.255.0
  79. 255.255.0.0
  80. 4 2
  81. 127.127.0.1
  82. 10.134.52.0
  83. 127.0.10.1
  84. 10.134.0.2
  85. 235.235.0.0
  86. 1.57.16.0
  87. */

模拟 百度之星资格赛 1003 IP聚合的更多相关文章

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

    题目传送门 /* 模拟水题,排序后找出重复的ip就可以了 */ #include <cstdio> #include <iostream> #include <algor ...

  2. ACM学习历程—BestCoder 2015百度之星资格赛1003 IP聚合(set容器)

    Problem Description 当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个网络地址.网 ...

  3. [百度之星]资格赛:IP聚合

    保持着也不知道什么情怀,觉得到现在才能发出来.这道题做完之后看了其他人的代码,然后再看我的,不得不说,真是幼稚的很,尤其是输入这一块,都什么跟什么啊. 但相较于之前来说,不像以前慌张了,学会先思考再去 ...

  4. 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)

    .navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...

  5. ip聚合(百度之星资格赛1003)

    IP聚合 点击这里 Problem Description 当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下, ...

  6. 百度之星资格赛 1003 度度熊与邪恶大魔王(二维dp)

    分析 挺好的一道题 dp[i][j]表示打败i颗血j防御力的怪兽需要的最少宝石数 然后就好了,复杂度\(O(n+m*1000*10)\) #include <bits/stdc++.h> ...

  7. 百度之星 资格赛 1003 度度熊与邪恶大魔王 dp(背包)

    度度熊与邪恶大魔王  Accepts: 1141  Submissions: 6840  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 3 ...

  8. 2016百度之星 资格赛ABCDE

    看题:http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=690 交题:http://acm.hdu.edu.cn/search.php ...

  9. HDU 5688:2016"百度之星" - 资格赛 Problem D

    原文链接:https://www.dreamwings.cn/hdu5688/2650.html Problem D Time Limit: 2000/1000 MS (Java/Others)    ...

随机推荐

  1. 组合式+迭代式+链式 MapReduce

    1.迭代式mapreduce 一些复杂的任务难以用一次mapreduce处理完成,需要多次mapreduce才能完成任务,例如Pagrank,Kmeans算法都需要多次的迭代,关于mapreduce迭 ...

  2. debian iptables持久化

    1 保存iptables iptables-save > /etc/iptables.rules   2 创建启动文件 touch /etc/network/if-pre-up.d/iptabl ...

  3. [rabbitmq-discuss] Exactly Once Delivery

    [rabbitmq-discuss] Exactly Once Delivery http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2010-A ...

  4. Spark简单集群搭建

    1. 上传spark-2.2.0-bin-hadoop2.7.tgz安装包到/home/dtouding目录下 2. 解压安装包到/bigdata/目录下,tar –zxvf spark-2.2.0- ...

  5. C++使用模板、函数指针、接口和lambda表达式这四种方法做回调函数的区别比较

    在C++中,两个类之间存在一种关系,某个类需要另外一个类去完成某一个功能,完成了之后需要告知该类结果,这种最普通最常见的需求,往往使用回调函数来解决. 如题,我总结下来有这么四种方式可以完成这项功能, ...

  6. HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  7. 「翻译」Unity中的AssetBundle详解(二)

    为AssetBundles准备资源 使用AssetBundles时,您可以随意将任何Asset分配给所需的任何Bundle.但是,在设置Bundles时,需要考虑一些策略.这些分组策略可以使用到任何你 ...

  8. Android ADB实现解析【转】

    本文转载自:http://blog.csdn.net/u010223349/article/details/41120255   ADB是Android系统提供的调试工具,整个ADB工具由三部分组成: ...

  9. bzoj4149: [AMPPZ2014]Global Warming

    头都烂了怎么头疼啊 考虑先做出对于一个位置以它作为唯一最小值的最远区间,这个可以单调栈上二分搞出来 那么对于一个位置这个区间而言,一定是选择这个区间的最大数是作为最终的唯一最大数最优的 为什么呢?我们 ...

  10. POJ 2421 Constructing Roads (Kruskal算法+压缩路径并查集 )

    Constructing Roads Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19884   Accepted: 83 ...