題目鏈結
問題描述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個色盲聚在一起,討論一塊布的顏色。儘管都是色盲,卻盲得各不相同。每個人都有自己的主張,爭論不休。最終,他們決定採取民主投票的方式決定布的顏色,不管布同不同意。某種顏色用字串表示 字串為顏色單詞或片語,也就是可能有被空...