求助今晚 ARC A&C,悬三关
  • 板块学术版
  • 楼主Magus
  • 当前回复12
  • 已保存回复12
  • 发布时间2025/1/26 22:03
  • 上次更新2025/1/27 12:31:55
查看原帖
求助今晚 ARC A&C,悬三关
701460
Magus楼主2025/1/26 22:03

求 A hack&A debug&C idea,各 1 关。

A code:

#include<bits/stdc++.h>
using namespace std;
int n,m,p[10],b[10],mx=-1;
char tmp;
string s,t;
int main()
{
	cin>>n>>m>>s>>t;tmp=t[m-1];
	memset(p,-1,sizeof(p));
	for(int i=0;i<m;i++)p[t[i]-'0']=i;
	for(int i=0;i<m;i++)b[t[i]-'0']++;
	t="";
	for(int i=9;i;i--)for(int j=1;j<=b[i];j++)t.push_back(i+'0');
	for(int i=0,j=0;i<m;i++)
	{
		while(j<n&&s[j]>=t[i])j++;
		if(j==n)break;mx=max(mx,p[t[i]-'0']);
		s[j]=t[i];
	}
	if(mx!=m-1)s[n-1]=tmp;
	cout<<s;
}
2025/1/26 22:03
加载中...