说一个悲伤地故事!

这几天正在加紧时间学STL!昨天刚刚勉强把map弄懂一点点。(故事的前提)

今天,来到平台准备刷有关map的题,老师推荐了一道题目。说是有关map。然后。。不会!!

后来,百度。。瞬间蒙逼!什么鬼!

特此求教!

IP聚合

Problem Description

当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个网络地址。网络地址等于子网掩码与 IP 地址按位进行与运算后的结果,例如:

子网掩码:A.B.C.D

IP 地址:a.b.c.d

网络地址:(A&a).(B&b).(C&c).(D&d)

Input

第一行包含一个整数TTT,(1≤T≤50)(1 \leq T \leq 50)(1≤T≤50)代表测试数据的组数,

接下来TTT组测试数据。每组测试数据包含若干行,

第一行两个正整数N(1≤N≤1000,1≤M≤50),MN(1 \leq N \leq 1000, 1 \leq M \leq 50),MN(1≤N≤1000,1≤M≤50),M。接下来NNN行,每行一个字符串,代表一个 IP 地址,

再接下来MMM行,每行一个字符串代表子网掩码。IP 地址和子网掩码均采用 A.B.C.DA.B.C.DA.B.C.D的形式,其中A,B,C,DA,B,C,DA,B,C,D均为非负整数,且小于等于255。

Output

对于每组测试数据,输出两行:

第一行输出: "Case #i:" 。iii代表第iii组测试数据。

第二行输出测试数据的结果,对于每组数据中的每一个子网掩码,输出在此子网掩码下的网络地址的数量。

Sample Input
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

Sample Output
Case #1:
3
2
Case #2:
3
4

代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
#include <vector>
#include <map>
using namespace std;
const int maxn=1100;
int a[maxn];
int b[maxn];
int c[maxn];
int d[maxn];
map<long long,int> m;
int main()
{int t;scanf("%d",&t);for(int te=1;te<=t;te++){int N,M;scanf("%d%d",&N,&M);for(int i=0;i<N;i++) scanf("%d.%d.%d.%d",&a[i],&b[i],&c[i],&d[i]);printf("Case #%d:\n",te);int A,B,C,D;int ans;long long temp;for(int i=1;i<=M;i++){m.clear();ans=0;scanf("%d.%d.%d.%d",&A,&B,&C,&D);for(int j=0;j<N;j++){temp=0;temp=temp*1000+(a[j]&A);temp=temp*1000+(b[j]&B);temp=temp*1000+(c[j]&C);temp=temp*1000+(d[j]&D);if(!m[temp]){ans++;m[temp]=1;}}printf("%d\n",ans);}}return 0;
}


求大神评论赐教!!

转载于:https://www.cnblogs.com/Asimple/p/5475440.html

C++TSL之map容器(悲伤的故事)相关推荐

  1. Map容器大小影响key的索引

    单元测试偶然发现的Map一个问题 Map<String,String> map1 = new HashMap<>();map1.put("aaa", &qu ...

  2. CSU 1113 Updating a Dictionary(map容器应用)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1113 解题报告:输入两个字符串,第一个是原来的字典,第二个是新字典,字典中的元素的格式为 ...

  3. C++中map容器的说明和使用技巧

    C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 1   头文件 #include <map> 2   定义 map< ...

  4. HDU 2094 产生冠军 (map容器)

    title: 产生冠军 杭电 2094 tags: [acm,stl] 题目链接 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则 ...

  5. leetcode(3)——697. 数组的度(C++版本注释)(map容器),448. 找到所有数组中消失的数字(取余操作,C++中的auto类型)

    文章目录 前言 697 程序 思路 收获 map容器 448 程序 收获 取模操作的思考 auto 前言 大佬的程序,边刷边总结边学语言. 题目697 697 程序 class Solution {p ...

  6. c++ map 修改value_C++知识分享之STL容器:set 容器与 map 容器的简单应用

    set容器中一些函数,取自百度其他大佬已总结好的,如有侵权,请联系删除! set的各成员函数列表如下: c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器 c++ stl容 ...

  7. C++map容器遍历删除:cannot increment value-initialized map/set iterator

    今天写C++结课作业遇到一个遍历删除的bug: 原代码: for(it=imap.begin();it!=imap.end();it++) imap.erase(it) 运行后: 第一次循环末尾,it ...

  8. map容器中删除一个元素(value)

    一:问题描述 我们想要删除map容器中,一个key值对应的vlaue 二:上码 #include<iostream> #include<map> #include<vec ...

  9. map容器的使用 逆序遍历map容器当中的数据

    一:前言 这个逆序遍历是将map容器的迭代器进行了变化,reverse_iterator逆向遍历的迭代器 ,它需要 rbegin()和rend()方法指出反向遍历的 起始位置和终止位置. 二:上码演示 ...

最新文章

  1. 新型人工突触可用于高度扩展的类脑计算
  2. 一步一个脚印学习WCF系列之WCF概要—WCF出现的目的(一)
  3. javacore分析工具_「赵强老师」如何分析Java的内存溢出问题
  4. Axios 如何缓存请求数据?
  5. 【转】什么是CORS
  6. python day3 python基础
  7. 阿里云弹性计算负责人蒋林泉:亿级场景驱动的技术自研之路 | 问底中国 IT 技术演变...
  8. Ubuntu12.04 apt-get 安装mysql
  9. [北京]招聘C++程序员
  10. 线下商店销量预测挑战赛
  11. 传输线特性阻抗与阻抗匹配关系【转】
  12. R语言| 缺失值判断
  13. PMOS管的简单应用
  14. N 个Android 视频教程免费下载
  15. TCP/IP第四章笔记ARP协议
  16. 基于java基于javaweb的管理系统设计与实现怎样选题思路分享
  17. 最近的题目总结(树,电话线铺设,我的天)
  18. IP协议与IP地址那些事
  19. 东方财富股吧标题爬取分析
  20. 由“娱乐主角”变“商业新军”,百度“人像特效”加速ToB

热门文章

  1. java for index_Java增强for循环中获取index
  2. docker导出容器文件
  3. 【Swing编写图形用户界面】操作系统之磁盘调度算法图形界面和性能比较
  4. python【蓝桥杯vip练习题库】ADV-305输出二进制表示
  5. 测量角速度_锡膏的粘度如何正确鉴别和精确测量?
  6. 711 发送请求失败_30秒上手新一代 Http 请求神器 RxHttp
  7. js 数字相加_Python练习:解题 - 两数相加(JS, TS, PY3版)
  8. 学院后勤报修系统php_2020年西航后勤管理服务技能培训
  9. 网络营销外包——网络营销外包公司如何做好电子商务网站优化?
  10. 企业官网建设注重这四点错不了!