救命啊!好像是快排出问题了,求大佬纠错~

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

luoguhandongheng @ 2022-01-29 11:05:52

#include <bits/stdc++.h>
#include <cstring>
using namespace std;
int n,c,book[1005];
struct node
{
    string a;
}q[1005];
bool cmp(node x,node y)
{
    return x.a>y.a;
}
string tmp;     
string x;
int findb()
{
    int l=tmp.size();
    for(int i=0;i<l;i++)
    {
        int t=l-i;
        if(x==tmp.substr(i,t))
            return 1;
    }
    return -1;
 } 
int main()
{
    cin>>n>>c;
    for(int i=1;i<=n;i++)
    {
        cin>>q[i].a;
    }
    sort(q+1,q+1+n,cmp);
    for(int i=1;i<=c;i++)
    {
        cin>>x;
        cin>>x;
        for(int j=1;j<=n;j++)
        {
            tmp=q[j].a;
            int t=findb();
            if(t==1)
            {
                book[i]=j;
                break;
            }
            else
            {
                book[i]=-1;
            }   
        }
    }
    for(int i=1;i<=c;i++)
    {
        if(book[i]>0)
            cout<<q[book[i]].a<<endl;
        else 
            cout<<-1<<endl;
    }
}

|