【Codeforces1706A】 Another String Minimization Problem
2024-09-08 10:49:43
官方标签
贪心、字符串
题目描述
输入
输出
样例输入
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;
}
最新文章
- Android开发的那些坑和小技巧
- hdu3639 强连通
- 为您的Android,iOS等应用加入声波传输功能
- UvaLive 6667 Longest Chain (分治求三元组LIS&;amp;树状数组)
- 整理的Java资源
- 数学期望和概率DP题目泛做(为了对应AD的课件)
- Web页面布局方式小结
- Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)
- 【Python练习题】程序3
- 转载 互斥体与互锁 <;第五篇>;
- 【洛谷P4513】小白逛公园
- Ant 使用指南 与 知识汇总
- MS SQMServer2008R2 连接不到远程服务的解决办法
- SharpGL学习笔记(八) 矩阵堆栈和变换的综合例子: 机器人
- Unity3D学习笔记(三):V3、运动、帧率、OnGUI
- MUI上拉加载下拉刷新
- December 19th 2016 Week 52nd Sunday
- Linux 查看当前时间和修改系统时间
- Spring 基础入门(一)
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)A模拟 B三分 C dfs D map