fork download
  1. #include <algorithm>
  2. #include <vector>
  3. #include <string>
  4. #include <iostream>
  5. using namespace std;
  6. bool cmp(pair <string, int> a, pair <string, int> b){
  7. if (a.second != b.second)return a.second < b.second;
  8. return false;
  9. }
  10. int main(){
  11. vector <pair <string, int> > vec;
  12. int n;
  13. cin >> n;
  14. vec.resize(n);
  15. for (int i = 0; i < n; ++i){
  16. string s;
  17. cin >> vec[i].first >> s;
  18. if (s == "rat")vec[i].second = 0;
  19. else if (s == "woman" || s == "child")vec[i].second = 1;
  20. else if (s == "man")vec[i].second = 2;
  21. else vec[i].second = 3;
  22. }
  23. sort(vec.begin(), vec.end(), cmp);
  24. for (int i = 0; i < n; cout << vec[i++].first << endl);
  25. return 0;
  26. }
Success #stdin #stdout 0s 3440KB
stdin
22
Wswwcvvm woman
Btmfats rat
I rat
Ocmtsnwx man
Urcqv rat
Yghnogt woman
Wtyfc man
Wqle child
Ujfrelpu rat
Dstixj man
Ahksnio woman
Khkvaap woman
Sjppvwm rat
Egdmsv rat
Dank rat
Nquicjnw rat
Lh captain
Tdyaqaqln rat
Qtj rat
Tfgwijvq rat
Nbiso child
Nqthvbf woman
stdout
Btmfats
I
Urcqv
Tfgwijvq
Qtj
Ujfrelpu
Tdyaqaqln
Nquicjnw
Dank
Sjppvwm
Egdmsv
Khkvaap
Nqthvbf
Nbiso
Wswwcvvm
Ahksnio
Wqle
Yghnogt
Dstixj
Wtyfc
Ocmtsnwx
Lh