(思維)小w的糖果

鏈接:https://ac.nowcoder.com/acm/contest/923/C
來源:牛客網

#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string.h>
using namespace std;
const int N=1e5+5;
typedef long long ll;
ll mod = 1e9+7;
ll a[N],b[N],c[N];
int t,n,m,id,pos;

void fun(ll f[]){
    for(int i=1;i<=n;i++)
        f[i]=(f[i]+f[i-1])%mod;
}
int main(){
    scanf("%d",&t);
    while(t--){
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        memset(c,0,sizeof(c));

        scanf("%d %d",&n,&m);
        while(m--){
            scanf("%d %d",&id,&pos);
            if(id==1)
                a[pos]++;
            else if(id==2)
                b[pos]++;
            else{
                c[pos]++;
                c[pos+1]++;
            }
        }

        fun(a);

        fun(b);
        fun(b);

        fun(c);
        fun(c);
        fun(c);

        int d=0;
        for(int i=1;i<=n;i++)
            printf(d++==0?"%d":" %d",(a[i]+b[i]+c[i])%mod);
        printf("\n");
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章