C++TSL之map容器(悲伤的故事)
说一个悲伤地故事!
这几天正在加紧时间学STL!昨天刚刚勉强把map弄懂一点点。(故事的前提)
今天,来到平台准备刷有关map的题,老师推荐了一道题目。说是有关map。然后。。不会!!
后来,百度。。瞬间蒙逼!什么鬼!
特此求教!
IP聚合
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; }
求大神评论赐教!!
低调做人,高调做事。