時間限制:1.0s 記憶體限制:256.0mb
問題描述
為豐富男生節活動,貴系女生設定彩票**環節,規則如下:
1、每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為[1, 33];
2、每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼;
3、共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如下:
特等獎:要求彩票上的7個號碼都出現在中獎號碼中;
一等獎:要求彩票上的6個號碼出現在中獎號碼中;
二等獎:要求彩票上的5個號碼出現在中獎號碼中;
……六等獎:要求彩票上的1個號碼出現在中獎號碼中;
注:不考慮號碼出現的順序,例如若中獎號碼為23 31 1 14 19 17 18,則彩票12 8 9 23 1 16 7由於其中有兩個號碼(23和1)出現在中獎號碼中,所以該彩票中了五等獎。
現已知中獎號碼和李華買的若干彩票的號碼,請你寫乙個程式判斷他的彩票中獎情況。
輸入格式
第一行乙個正整數n,表示彩票數量,第二行7個整數,表示中獎號碼,下面n行每行7個整數,描述n張彩票。
輸出格式
7個空格隔開的數字,第1個數字表示特等獎的中獎張數,第2個數字表示一等獎的中獎張數,第3個數字表示二等獎的中獎張數……第7個數字表示六等獎的中獎張數。
樣例輸入
31 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
資料規模和約定
30%的資料n<=100;
70%的資料n<=1000;
100%的資料n<=100000。
思路:
對於python,直接使用列表處理即可。注意題目,7個互不相同的數字,就很簡單了。
**:
n =
eval
(input()
)bingo =
list
(map
(int
,input()
.split())
)level =[0
]*7# 這裡直接使用數字(幻數),是因為題目中直接給出了限制範圍
for i in
range
(n):
tmp =
list
(map
(int
,input()
.split())
) num =
0for j in
range(7
):if tmp[j]
in bingo:
num +=
1if num !=0:
level[
-num]+=1
for i in
range(7
):if i ==6:
print
(level[i]
,end='')
else
:print
(level[i]
, end=
' ')
彩票 (藍橋杯 演算法提高 )
為豐富男生節活動,貴系女生設定彩票 環節,規則如下 1 每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為 1,33 2 每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼 3 共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如下 特等獎 要求彩票上的7個號碼都出現在中獎號碼中 一等獎...
藍橋杯 演算法提高 vip 阮小二買彩票
問題描述 在同學們的幫助下,阮小二是變的越來越懶了,連算賬都不願意自己親自動手了,每天的工作就是坐在電腦前看自己的銀行賬戶的錢是否有變多。可是一段時間觀察下來,阮小二發現自己賬戶的錢增長好慢啊,碰到節假日的時候連個銅板都沒進,更鬱悶的是這些天分文不進就算了,可恨的是銀行這幾天還有可能 落井下石 代扣...
演算法提高 彩票
題目鏈結 問題描述 為豐富男生節活動,貴系女生設定彩票 環節,規則如下 1 每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為 1,33 2 每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼 3 共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如下 特等獎 要求彩票上的7個號碼都出現...