2166776037yyds @ 2024-08-03 19:29:53
#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了不太理解 **~~(求生欲超强)_~~**
by under_hole @ 2024-08-03 19:50:31
@2166776037yyds 因为你a[i]=(97+(cnt-1)%26),把那个1减去了
by 2166776037yyds @ 2024-08-03 20:32:06
怎么说呢,这是考场公式照推的
附题目传送门
by ragwort @ 2024-08-03 22:26:53
@2166776037yyds 不懂你的意思。
还有能不能不要滥用 markdown,看着真的很难受
by ragwort @ 2024-08-03 22:28:01
我建议你直接打个表
const string t = "Zabcdefghijklmnopqrstuvwxyz";
考场看了一眼没写,整体上挺简单的,至少我没推公式