C++TSL之map容器(悲伤的故事)
说一个悲伤地故事!
这几天正在加紧时间学STL!昨天刚刚勉强把map弄懂一点点。(故事的前提)
今天,来到平台准备刷有关map的题,老师推荐了一道题目。说是有关map。然后。。不会!!
后来,百度。。瞬间蒙逼!什么鬼!
特此求教!
IP聚合
Case #1: 3 2 Case #2: 3 4
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #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; } |
求大神评论赐教!!
低调做人,高调做事。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理