3 solutions
-
0
#include<bits/stdc++.h> using namespace std; string s1,o[305],s[50005]; int n; bool cmp(string a,string b){ for(int i=0;i<a.size()&&i<b.size();i++){ if(a[i]!=b[i]) return o[a[i]]<o[b[i]]; } return a.size()<b.size(); } int main() { cin>>s1; for(int i=1;i<=s1.size();i++){ o[s1[i]]=i; } cin>>n; for(int i=1;i<=n;i++){ cin>>s[i]; } sort(s+1,s+n+1,cmp); for(int i=1;i<=n;i++){ cout<<s[i]<<endl; } return 0; }
Information
- ID
- 2617
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 12
- Accepted
- 6
- Uploaded By