題目描述
為豐富男生節(jié)活動,貴系女生設(shè)置彩票抽獎環(huán)節(jié)蹈胡,規(guī)則如下:
1、每張彩票上印有7個各不相同的號碼罚渐,且這些號碼的取值范圍為[1, 33];
2荷并、每次在兌獎前都會公布一個由七個互不相同的號碼構(gòu)成的中獎號碼合砂;
3、共設(shè)置7個獎項璧坟,特等獎和一等獎至六等獎。兌獎規(guī)則如下:
特等獎:要求彩票上的7個號碼都出現(xiàn)在中獎號碼中雀鹃;
一等獎:要求彩票上的6個號碼出現(xiàn)在中獎號碼中;
二等獎:要求彩票上的5個號碼出現(xiàn)在中獎號碼中黎茎;
……
六等獎:要求彩票上的1個號碼出現(xiàn)在中獎號碼中;
注:不考慮號碼出現(xiàn)的順序傅瞻,例如若中獎號碼為23 31 1 14 19 17 18,則彩票12 8 9 23 1 16 7由于其中有兩個號碼(23和1)出現(xiàn)在中獎號碼中嗅骄,所以該彩票中了五等獎。
現(xiàn)已知中獎號碼和李華買的若干彩票的號碼溺森,請你寫一個程序判斷他的彩票中獎情況。
數(shù)據(jù)規(guī)模和約定
100%的數(shù)據(jù)n< =100000屏积。
輸入
第一行一個正整數(shù)n,表示彩票數(shù)量炊林,第二行7個整數(shù),表示中獎號碼,下面n行每行7個整數(shù)独榴,描述n張彩票。
輸出
7個空格隔開的數(shù)字棺榔,第1個數(shù)字表示特等獎的中獎張數(shù),第2個數(shù)字表示一等獎的中獎張數(shù)掷豺,第3個數(shù)字表示二等獎的中獎張數(shù)……第7個數(shù)字表示六等獎的中獎張數(shù)。
樣例輸入
3
1 2 3 4 5 6 7
11 12 13 14 15 16 17
12 13 14 15 16 17 18
8 7 10 9 31 30 29
樣例輸出
0 0 0 0 0 0 1
提示
C語言在線學習平臺微信號dotcpp
來源
算法提高
#include<iostream>
#include<set>
#include<vector>
using namespace std;
int sum,res[10];
set<int>box;
int main(void)
{
int n;
cin>>n;
for(int i=1;i<=7;i++)
{
int x;
cin>>x;
box.insert(x);
}
for(int i=1;i<=n;i++)
{
int ans=0,a;
for(int k=1;k<=7;k++)
{
cin>>a;
if(box.find(a)!=box.end()) ans++;
}
res[ans]++;
}
for(int i=7;i>=1;i--)
{
cout<<res[i];
if(i!=1) cout<<" ";
}
return 0;
}