405J1R第七次训练(T635910 单词前缀)

· · 个人记录

错误思路

看不懂题。

正确思路

先来个const int N=1e5+5;然后来个整数变量n,再来个string s[N],k;然后输入n,来个for循环:

for(int i=1;i<=n;i++){
        cin>>s[i];
}

再来个sort排序,然后输入k,再来个for循环:

for(int i=1;i<=n;i++){
        if(s[i].find(k)==0){
        cout<<s[i]<<endl;
    }
}

正确代码

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n;
string s[N],k;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>s[i];
    }
    sort(s+1,s+1+n);
    cin>>k;
    for(int i=1;i<=n;i++){
        if(s[i].find(k)==0){
            cout<<s[i]<<endl;
        }
    }
    return 0;
}