第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)F题

第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)F题_第1张图片

输入:
4
aacc
输出:
bbaa

输入:
3
aca
输出:
ba

第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)F题_第2张图片

#include
#include
#include
using namespace std;

string s;
string ans[1010];
unordered_set<char> se;
int f[1000];

void solve(int len)
{
    se.clear();
    for(int i=len-1;i>=0;i--)
    {
        if(se.count(s[i])==0) f[s[i]]=se.size();
        se.insert(s[i]);
    }
}

int main()
{
    int n;cin>>n;
    cin>>s;
    for(int len=1;len<=n;len++)
    {
        solve(len);
        for(int j=0;j<len;j++)
        {
            ans[len]+=(f[s[j]]+'a');
        }
    }
    sort(ans+1,ans+1+n);
    cout<<ans[n]<<endl;
    return 0;
}

你可能感兴趣的:(算法,c++,算法,开发语言)