#include<bits/stdc++.h>
char a[114514],b[114514];
long long n,m,cnt=1,jsq=0;
using namespace std;
int main()
{
cin>>n>>m;
for(long long i=1;i<=n;i++)
{
cin>>a[i];
}
for(long long i=1;i<=n;i++)
{
cin>>b[i];
if(b[i]=='#') jsq++;
}
if(jsq<25) for(long long i=1;i<=n;i++)
{
if(a[i]=='#') {
a[i]=char(97+(cnt-1)%26);
cnt++;
if(cnt==27) cnt=1;
}
cout<<a[i];
}
else for(long long i=1;i<=n;i++)
{
if(a[i]=='#')
{
if(cnt==1) {
a[i]=char(97+(cnt-1)%26);
cnt++;
}
else if(jsq>=(27-cnt)) {
a[i]='a';
jsq-=(27-cnt);
cnt=2;
}
else {
a[i]=char(97+(cnt-1)%26);
cnt++;
}
if(cnt==27) cnt=1;
}
cout<<a[i];
}
return 0;
}
为什么要用27减jsq啊,不是用26吗?
勿 jb,代码为本人考场 _现敲,只是把26改成27就AC了不太理解 (求生欲超强)