大佬求助

P3955 [NOIP2017 普及组] 图书管理员

judgejudge @ 2019-06-02 11:08:11

#include <iostream>
#include <string>
using namespace std;
string st[1001];
int main(){
    int i,j,k,n,m;
    cin>>n>>m;
    for(i=1;i<=n;i++)cin>>st[i];
    for(i=1;i<=m;i++){
        int l;
        string ss,ans=".";
        cin>>l>>ss;
        for(j=1;j<=n;j++){
            k=st[j].find(ss);
            if(k==st[j].length()-l&&k>=0&&k<st[j].length()){
                if(ans==".")ans=st[j];
                else{
                    if(ans.length()>st[j].length())ans=st[j];
                    else if(ans.length()==st[j].length()&&ans>st[j])ans=st[j];
                }
            }       
        }
        if(ans==".")cout<<-1<<endl;
        else cout<<ans<<endl;
    }
    return 0;
}

by 固执 @ 2019-06-07 09:02:57

把ans换成bool类型的0和1,这样可读性大一点


by 固执 @ 2019-06-07 09:03:26

我觉得完全可以不用字符串来处理


|