藍橋杯 ADV 130 演算法提高 色盲的民主

2021-10-02 14:00:17 字數 1153 閱讀 1959

演算法提高 色盲的民主

時間限制:1.0s   記憶體限制:256.0mb

問題描述

n個色盲聚在一起,討論一塊布的顏色。儘管都是色盲,卻盲得各不相同。每個人都有自己的主張,爭論不休。最終,他們決定採取民主投票的方式決定布的顏色,不管布同不同意。某種顏色用字串表示(字串為顏色單詞或片語,也就是可能有被空格隔開的兩個單詞組成的顏色片語),只要字串不同,程式即判斷顏色不同。現在給出這n個人所選擇的顏色,輸出最有可能的顏色(也就是獲得投票最多的顏色),如果有多個顏色獲得了最多的投票,則將它們按字典序分行全部輸出。

輸入格式

第一行乙個正整數n,表示色盲的人數

接下來n行,每行一句話

輸出格式

若干行,獲得投票最多的顏色,按字典序輸出

樣例輸入

5red

blue

black

black

blue

樣例輸出

black

blue

資料規模和約定

n<=1000

顏色單詞最多20個字元,只包含小寫字母或者空格

注對於char s[20],由於cin >> s是讀取到空格處便會結束,也就是對於light red,用cin只能輸入light。如果要整個輸入一行,則使用cin.getline(s, 20),其中20為這一行的最大長度,也就是你的s的容量,如果容量為30,則cin.getline(s, 30)。

另外,你在cin>>n以後cin.getline(s,30)應該會得到乙個空字串,這是因為整數n後面的換行符還未被輸入。

from collections import defaultdict

n = int(input())

votes = defaultdict(int)

for i in range(n):

say = input()

votes[say] += 1

max_num_votes = max(votes.values())

results = [say for say in votes if votes[say] == max_num_votes]

results.sort()

for res in results:

print(res)

藍橋杯 ADV 131演算法提高 選擇排序

問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 i k 為這個新順序。選擇排序的思想極其簡單,每一步都把乙個最小元素放到前面,如果有多個相等的最小元素,選擇排位較考前的放到當前頭部。還...

藍橋杯 ADV 20 演算法提高 交換Easy

問題描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入格式 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換的兩個整數。在一次交換中,如果x和y相等...

藍橋杯 ADV 208 演算法提高 矩陣相乘

問題描述 小明最近在為線性代數而頭疼,線性代數確實很抽象 也很無聊 可惜他的老師正在講這矩陣乘法這一段內容。當然,小明上課打瞌睡也沒問題,但線性代數的習題可是很可怕的。小明希望你來幫他完成這個任務。現在給你乙個ai行aj列的矩陣和乙個bi行bj列的矩陣,要你求出他們相乘的積 當然也是矩陣 輸入資料保...