1 条题解

  • 0
    #include<bits/stdc++.h>
    using namespace std;
    string s[1010];
    bool cmp(const string s1,const string s2){
        int t1=s1.length();
        int t2=s2.length();
        if(t1>t2)return false;
        else if(t1<t2)return true;
        else{
            int i;
            for(i=0; i<t1; i++) {
                if(s1[i]>s2[i])return false;
                else if(s1[i]<s2[i])return true;
            }return true;
        }
    }int main(){
        int n,q,i,j,x,len;
        cin>>n>>q;
        string str1;
        for(i=1;i<=n;i++)cin>>s[i];
        sort(s+1,s+n+1,cmp);
        for(i=1;i<=q;i++){
            cin>>x>>str1;
            for(j=1;j<=n;j++){
                len=s[j].rfind(str1);
                if(len!=-1&&len+x-1==s[j].length()-1){
                    cout<<s[j]<<endl;
                    break;
                }else if(j==n)cout<<-1<<endl;
            }
        }return 0;
    }
    
  • 1

信息

ID
3066
难度
9
分类
(无)
标签
递交数
5
已通过
2
通过率
40%
被复制
1
上传者