HNU 2015暑期新队员训练赛2 H Blanket

HNU 2015暑期新队员训练赛2 H Blanket_第1张图片

把每个 bi *x + ri ( 0 <= ri <= ai)标记, 输出被标记 0 – N 次的个数

#include
#include
#include
using namespace std;
typedef long long LL;
const int maxn = 1e6 + 131;
int N[20][20];
int Num[maxn];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,m;
        scanf("%d%d",&n,&m);
        memset(Num,0,sizeof(Num));
        memset(N,0,sizeof(N));
        for(int i = 1; i <= n; ++i)
        {
            int x,y;
            scanf("%d%d",&x,&y);
            for(int j = 0; j < x; ++j)
            N[y][j]++;
        }
        for(int i = 0; i < m; ++i)
        {
            int ans = 0;
            for(int j = 1; j <= 16; ++j)
            ans += N[j][i % j];
            Num[ans]++;
        }
        for(int i = 0; i <= n; ++i) printf("%d\n",Num[i]);
    }
}

你可能感兴趣的:(HNU 2015暑期新队员训练赛2 H Blanket)