題意:給你 n 個坐標(x,y),m 個詢問(c,d)
c==0,求出x==d有多少個,並刪除這些點;
c==1,求出y==d有多少個,並刪除這些點。
map+multiset的多重映射
#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define inf 1e8 #define eps 1e-8 #define ll __int64 #define maxn 100001 #define mol 100007 map > X,Y; int main() { int n,m; while(scanf("%d%d",&n,&m)&&n&&m) { int x,y,c,d; X.clear(); Y.clear(); //multiset::iterator it; while(n--) { scanf("%d%d",&x,&y); X[x].insert(y); Y[y].insert(x); } while(m--) { scanf("%d%d",&c,&d); if(c==0) { multiset::iterator it; printf("%d\n",X[d].size()); for(it=X[d].begin();it!=X[d].end();it++)//刪除x==d的y個數 Y[*it].erase(d); X[d].clear(); } else { multiset::iterator it; printf("%d\n",Y[d].size()); for(it=Y[d].begin();it!=Y[d].end();it++)//刪除y==d的x個數 X[*it].erase(d); Y[d].clear(); } } printf("\n"); } return 0; }
組合模式,是眾多的結構性模式中的一種,想比較之前的橋接
在上例中,我們接觸了許多以前沒見過的函數,如Messa
基於GBT28181:SIP協議組件開發----------
多維數組和指針探討,多維數組指針探討 Normal
LeetCode204:Count Primes Des
4.9.4 編寫動作組件 一般使用的動作是