4419: [Shoi2013]发微博 set

来源:互联网 发布:传感器数据采集系统 编辑:程序博客网 时间:2024/06/09 13:18

set暴力维护一下标记。。

#include<bits/stdc++.h>using namespace std;set<int> s[200005];int n,m;int send[200005],recieve[200005];inline int read(){    int a=0,f=1; char c=getchar();    while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();}    while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();}    return a*f;}int main(){    n=read(); m=read();    for (int i=1;i<=m;i++)    {        char opt[5];        scanf("%s",opt);        int x,y;        switch (opt[0])        {            case '!':                x=read();                send[x]++;                break;            case '+':                x=read(),y=read();                s[x].insert(y); s[y].insert(x);                recieve[y]-=send[x]; recieve[x]-=send[y];                break;            case '-':                x=read(),y=read();                s[x].erase(y); s[y].erase(x);                recieve[y]+=send[x]; recieve[x]+=send[y];                break;        }    }    for (int i=1;i<=n;i++)        for (set<int>::iterator it=s[i].begin();it!=s[i].end();it++)            recieve[*it]+=send[i];    for (int i=1;i<=n;i++)     {        printf("%d",recieve[i]);        if (i!=n) putchar(32);    }    return 0;}
0 0
原创粉丝点击