社区讨论
关于拼数,问难度
P1012[NOIP 1998 提高组] 拼数参与者 8已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @mkhvdb31
- 此快照首次捕获于
- 2026/01/17 13:31 上个月
- 此快照最后确认于
- 2026/01/17 17:18 上个月
这个 不挺好想的吗。
采用 思想,设 为已经排好了前 个数的结果。然后暴力枚举下插入位置,共 个位置,暴力模拟插入。
CPP#include<bits/extc++.h>
using namespace std;
vector<string> ans;
string a[21];
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
string tans=a[i];
vector<string> tans2;
for(auto j:ans){
tans+=j;
}
tans2.push_back(a[i]);
for(auto j:ans){
tans2.push_back(j);
}
for(int j=0;j<=ans.size();j++){//在后面插入
vector<string> nowa=ans;
nowa.insert(j+nowa.begin(),a[i]);
string txt="";
for(auto k:nowa){
txt+=k;
}
if(txt>tans)tans=txt,tans2=nowa;
}
ans=tans2;
}
for(auto i:ans)cout<<i;
return 0;
}
问一下这个做法难度如何
回复
共 12 条回复,欢迎继续交流。
正在加载回复...