跪求dalao帮忙看下

P10836 『FLA - I』歌静河

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";

考场看了一眼没写,整体上挺简单的,至少我没推公式


|