HDU 百度之星(测试赛)1003 - IP聚合
来源:互联网 发布:中科信证券软件 编辑:程序博客网 时间:2024/06/05 20:09
意思就是让你找出在每个掩码的情况下,n个IP地址能有几种不同的网络地址,简单地说就是去重,由此可以想到用set,不是很难。
#include <cstdio>#include <set>using namespace std;struct IP{ int a, b, c, d; int operator < (const IP &i) const///因为在set中的count函数中需要有比较函数,所以这里自己写一下 { if (i.a != a) return i.a < a; else if (i.b != b) return i.b < b; else if (i.c != c) return i.c < c; else return i.d < d; }}address[1010];set<IP> all;int ans;int ip_a[1010], ip_b[1010], ip_c[1010], ip_d[1010];int ip_ma[60], ip_mb[60], ip_mc[60], ip_md[60];int main(){ int m, n, T; scanf("%d", &T); for (int icase = 1; icase <= T; ++icase) { scanf("%d%d", &n, &m); for (int i = 0; i < n; ++i) scanf("%d.%d.%d.%d", &ip_a[i], &ip_b[i], &ip_c[i], &ip_d[i]); for (int i = 0; i < m; ++i) scanf("%d.%d.%d.%d", &ip_ma[i], &ip_mb[i], &ip_mc[i], &ip_md[i]); printf("Case #%d:\n", icase); for (int i = 0; i < m; ++i) { all.clear(); ans = 0; for (int j = 0; j < n; ++j) { address[j].a = ip_a[j] & ip_ma[i]; address[j].b = ip_b[j] & ip_mb[i]; address[j].c = ip_c[j] & ip_mc[i]; address[j].d = ip_d[j] & ip_md[i]; if (!all.count(address[j])) { ans++; all.insert(address[j]); } } printf("%d\n", ans); } } return 0;}
0 0
- HDU 百度之星(测试赛)1003 - IP聚合
- 2016"百度之星" - 测试赛 1003 IP聚合(Map存储)
- IP聚合 (2016"百度之星" - 测试赛(热身,陈题))
- 2016"百度之星" - 测试赛(热身,陈题)-IP聚合(模拟)
- IP聚合-2016"百度之星" - 测试赛(热身,陈题)
- 【百度之星】1003 IP聚合
- bestcoder 百度之星 1003 IP聚合
- 2016"百度之星" - 测试赛(热身,陈题)&& 列变位法解密&&IP聚合&&放盘子
- 2015百度之星之-IP聚合
- 百度之星2015资格赛1003 IP聚合 模拟题
- BestCoder 2015百度之星资格赛1003 IP聚合
- [水]百度之星资格赛 1003 IP聚合
- BestCoder 2015百度之星资格赛1003 IP聚合 -
- 2015百度之星资格赛 IP聚合 1003
- 百度之星IP聚合(水题map&字符处理)
- best coder (百度之星) IP聚合
- 百度之星资格赛--IP聚合
- 百度之星资格赛2015IP聚合
- Android 软键盘自动弹出和关闭
- C++实现数组中出现最频繁的前top k个元素
- 从服务器端获取的图片放在客户端的控件上如何等比例裁切且不失真
- linux下单机版zookeeper安装
- 一个用于大规模数据科学的API——DataFrame
- HDU 百度之星(测试赛)1003 - IP聚合
- 引用传递——值传递
- Android高效加载大图、多图解决方案,有效避免程序OOM
- 史上最详细的Android Studio系列教程一--下载和安装
- UITableView的两种重用Cell方法的区别
- 你们关心的租房的那些事
- android自定义LoadPager页面,再也不用担心重复的代码啦
- Java运行时故障排查
- 在Ubuntu Server 32bit搭建hustoj -- 中