#include <iostream>
using namespace std;
struct box { //A
string a ;
string b ;
};
struct diet { //a
string a ; //name
string b ; //type
};
int main() {
struct diet a[50] ;
struct box A[50] ;
int i , j , I = 0 ;
string x ;
cin >> j ;
for( i = 0 ; i < j ; i++ ) {
cin >> a[i].a >> a[i].b;
A[i].b = a[i].a[0] ;
}
cin >> x ;
for( i = 0 ; i < j ; i++ ) {
if( x == a[i].b ) {
A[I].a = a[i].a ;
I++ ;
}
}
for( i = 0 ; i < I - 1 ; i++ ) {
for( int k = 0 ; k < I - 1 ; k++ ) {
if( A[i].b < A[i+1].b ) {
swap( A[i].b , A[i+1].b ) ;
swap( A[i].a , A[i+1].a ) ;
}
}
}
for( i = 0 ; i < I ; i++ ) {
cout << A[i].a << endl;
}
return 0 ;
}
上面最後的泡沫排序一直成功不了