Submission
Status:
[PPP-S][-SSSS]
Score: 0
User: namnueng_good
Problemset: จุดแวะพัก
Language: cpp
Time: 0.003 second
Submitted On: 2025-03-25 07:01:55
#include <bits/stdc++.h>
using namespace std;
int n;
string s,m;
vector<pair<string,int>> v;
vector<pair<string,int>> re;
int main() {
cin.tie(NULL)->sync_with_stdio(false);
cin>>n>>m;
cin.ignore();
for(int i=0;i<n;i++){
getline(cin, s);
v.push_back({s,0});
}for(int i=0;i<n;i++){
s="";
for(int k=0;k<v[i].first.size();k++){
if(isdigit(v[i].first[k])){
v[i].second++;
if(v[i].first[k]==m[0]){
for(int j=1;j<m.size();j++){
if(v[i].first[k+j]==m[j]){
continue;
}else{
k+=m.size();
break;
}
}
re.push_back({s,v[i].second});
break;
}
}else if(!isdigit(v[i].first[k])&&v[i].first[k]!=' '){
s+=v[i].first[k];
}
}
}sort(re.begin(),re.end(),[](auto &a,auto &b){
if(a.second!=b.second){
return a.second<b.second;
}else{
return b.first>a.first;
}
});if(re.size()!=0){
for(int i=0;i<re.size();i++){
cout<<re[i].first<<' ';
}
}else{
cout<<-1;
}
}