演算法提高 色盲的民主

2021-09-11 08:09:11 字數 1181 閱讀 8819

題目鏈結

問題描述

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

#include #include #include #include #include using namespace std;

vectorans;

int main(int argc, char *ar**)

for(map::iterator it = m.begin(); it != m.end(); it++)

if(it->second == maxn) ans.push_back(it->first);

sort(ans.begin(), ans.end());

for(int i = 0; i < ans.size(); i++)

cout<< ans[i]<< "\n";

return 0;

}

輸入格式

第一行乙個正整數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後面的換行符還未被輸入

色盲的民主

題目描述 n個色盲聚在一 起,討論一塊布的顏色。儘管都是色盲,卻盲得各不相同。每個人都有自己的主張,爭論不休。最終,他們決定採取民主投票的方式決定布的顏色,不管布同不同 意。某種顏色用字串表示 字串為顏色單詞或片語,也就是可能有被空格隔開的兩個單詞組成的顏色片語 只要字串不同,程式即判斷顏色不同。現...

問題 色盲的民主

演算法提高 色盲的民主 時間限制 1.0s 記憶體限制 256.0mb 色盲的民主 問題描述 n個色盲聚在一 起,討論一塊布的顏色。儘管都是色盲,卻盲得各不相同。每個人都有自己的主張,爭論不休。最終,他們決定採取民主投票的方式決定布的顏色,不管布同不同 意。某種顏色用字串表示 字串為顏色單詞或片語,...

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

演算法提高 色盲的民主 時間限制 1.0s 記憶體限制 256.0mb 問題描述 n個色盲聚在一起,討論一塊布的顏色。儘管都是色盲,卻盲得各不相同。每個人都有自己的主張,爭論不休。最終,他們決定採取民主投票的方式決定布的顏色,不管布同不同意。某種顏色用字串表示 字串為顏色單詞或片語,也就是可能有被空...