给你一串数字,还有一组映射关系,选择连续的一段子串,改变一下
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn=2e5+5;
char s[maxn];int mp[15];
signed main()
{
int n,x;scanf("%d%s",&n,s);
for(int i=1;i<=9;i++)scanf("%d",&x),mp[i]=x;
int flag=0;int len=strlen(s);
for(int i=0;i<len;i++)
{
if(s[i]-'0'>=mp[s[i]-'0'])continue;
while(s[i]-'0'<=mp[s[i]-'0']&&i<len)
s[i]=mp[s[i]-'0']+'0',i++;
break;
}
printf("%s\n",s);
return 0;
}