社区讨论
字符串做法60分求助
P3955[NOIP 2017 普及组] 图书管理员参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjt89qq
- 此快照首次捕获于
- 2025/11/04 08:07 4 个月前
- 此快照最后确认于
- 2025/11/04 08:07 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
queue<string> book;
int n,q;
string minn;
string minx(string x,string y) {
if (x.size() < y.size()) return x;
if (y.size() < x.size()) return y;
for(int i=0;i<x.size();i++){
if(x[i]>y[i]) {return y;break;}
else if(y[i]>x[i]) {return x;break;}
}
return x;
}
int main(){
cin>>n>>q;
for(int i=1;i<=n;i++){
string l;cin>>l;
book.push(l);
}
for(int i=1;i<=q;i++){
int x;cin>>x;
string z;cin>>z;
bool flag=false;
for(int j=1;j<=book.size();j++){
string y=book.front(),tmp=y;
book.pop();
if(y.size()<z.size()) continue;
tmp.erase(0,y.size()-x);
if(tmp==z){
flag=true;
if(minn.empty()) minn=y;
else{
minn=minx(minn,y);
}
}
book.push(y);
}
if(flag) cout<<minn<<endl;
else cout<<"-1"<<endl;
flag=false;
minn.erase(0,minn.size());
}
return 0;
}
rt,不知为何只得60分。
悬关求解TT
悬关求解TT
回复
共 0 条回复,欢迎继续交流。
正在加载回复...