lch66 @ 2024-08-03 20:21:48
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<math.h>
#include<map>
#include<string.h>
#include<string>
#include<set>
using namespace std;
#define ll long long
int n, m, sumb = 0;
string a, b;
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> n >> m;
cin >> a >> b;
for (int i = 0; i < b.length(); i++)
{
if (b[i] == '#')
{
sumb++;//求b中有多少个'#’
}
}
int x = 0, flag = 0;
for (int i = 0; i < a.length(); i++)
{
if (a[i] == '#')
{
if (!flag)
{
cout << 'a';//a中第一个'#'赋值为'a'
flag = 1;
}
else
{
int u = 25 - x;
if (sumb >= u && sumb > 0)//如果可以通过在b中连续写u个'#',则可以到达下一轮的'a'
{
cout << 'a';
x = 0;
sumb -= u;//减去次数
}
else//如果不够,那么就写下一个字符
{
x++;
if (x == 26)x = 0;
printf("%c", x + 'a');
}
}
}
else
{
cout << a[i];
}
}
}
求各路大神帮忙看看
by Ahws_rwhy @ 2024-08-03 21:29:06
@lch66 我跟你的一样
by 朱梓煊ZZX @ 2024-08-03 21:33:00
@lch66 有ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
时cin,cout与scanf,printf不能混用
by 朱梓煊ZZX @ 2024-08-03 21:34:20
建议看下这个
by lch66 @ 2024-08-04 10:30:03
@朱梓煊ZZX 涨知识了,啥都怀疑过了,就是没怀疑过printf,主要之前混用都侥幸没出过问题,感谢