【2022.07.18】Codeforces Round #809 (Div. 2)
作者:互联网
A. Another String Minimization Problem
官方标签
贪心、字符串
题目描述
输入
输出
样例输入
6
4 5
1 1 3 1
1 5
2
4 1
1 1 1 1
2 4
1 3
2 7
7 5
4 5
5 5 3 5
样例输出
ABABA
BABBB
A
AABB
ABABBBB
ABABA
说明
题目大意
给定一个长度为m的字符串,并且该字符串初始化由B组成。
根据数组a[],对字符串中的个别地方替换为A
a = num[i]; b = m + 1 - num[i];
如果a < b && s[a] != 'A'
或者a > b && s[b] == 'A'
则将s[a] = 'A';
其余情况,则s[b]='A'
代码
点击查看代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int N = 55;
int num[N];
char s[N];
void solve()
{
int n , m;
cin >> n >> m;
memset(s,0,sizeof(s));
for(int i = 1;i <= n;i ++)
cin >> num[i];
for(int i = 1;i <= m;i ++)
s[i] = 'B';
for(int i = 1;i <= n;i ++)
{
int a = num[i];
int b = m + 1 - num[i];
if(a < b && s[a] != 'A')
s[a] = 'A';
else if(a > b && s[b] == 'A')
s[a] = 'A';
else
s[b] = 'A';
}
for(int i = 1;i <= m;i ++)
cout << s[i];
cout << endl;
}
int main()
{
int T;
cin >> T;
while(T --)
solve();
return 0;
}
标签:int,18,Codeforces,809,num,solve,&&,字符串,include 来源: https://www.cnblogs.com/heystar/p/16493279.html