P1124,请问用find和find_last_of函数能避免RE吗
查看原帖
P1124,请问用find和find_last_of函数能避免RE吗
485688
想吃小熊饼干楼主2021/8/11 23:02

rt,如果能,求优化思路;如果不能lz就去乖乖写模拟。代码:

#include<bits/stdc++.h>
using namespace std;
string sf,sl,ans;//压缩前首字母串,尾字母串(输入串),答案串
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(0);
    int n,p;
    cin>>n>>sl>>p;
    sf=sl;
    sort(sf.begin(),sf.end());//字典序排序得到首字母串
    int ind=sf.find(sl[p-1]);//查找答案串的最后一个字母的下标
    sf[ind]='/';//标记
    ans[0]=sl[ind];
    for(int i=1;i<n;i++)
    {
        ind=sf.find_last_of(sl[ind]);//倒序查找
        ans[i]=sl[ind];
        sf[ind]='/';
    }
    for(int i=n-1;i>=0;i--)cout<<ans[i];//倒序输出
    return 0;
}

无论得到何种回复,lz一律表示感谢

2021/8/11 23:02
加载中...