题解 P2550 【[AHOI2001]彩票摇奖】

· · 题解

虽然是水题,但还是有巧方法

写给新手党

用一个数组将中奖的那七个号码的下标对应的值置为1,这样在输入那n张彩票的号码的时候可以更方便地判断

其实就是桶排序

#include<iostream>
using namespace std;
int f[33],p[10],n,m;
int main()
{
    cin>>n;
    for(int i=0;i<7;i++)
    {
        cin>>m;
        f[m]=1;
    }
    for(int i=1;i<=n;i++)
    {
        int sum=0;//中奖号码数量
        for(int j=1;j<=7;j++)
        {
            cin>>m;
            if(f[m]==1)sum++;
        }
        p[sum]++;
    }
    for(int i=7;i>=1;i--)cout<<p[i]<<' ';
    return 0;
}