藍橋杯 演算法提高 彩票 Python

2021-10-02 15:15:26 字數 1740 閱讀 7078

時間限制: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個號碼都出現...