Codeforces Round #531 (Div. 3) D. Balanced Ternary String(模拟)
时间:2022-06-17
本文章向大家介绍Codeforces Round #531 (Div. 3) D. Balanced Ternary String(模拟),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目链接:http://codeforces.com/contest/1102/problem/D
题意是输入一个只含有012的字符串,且长度为3的倍数,现在要求让这个字符串中的012的个数相等且字符串为最小的字典序(此字典序不是彼字典序...)
直接暴力...
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int len;
string str;
scanf("%d",&len);
cin>>str;
int k = len / 3;
map<char,int> ma;
for(int i=0;i<len;i++){
ma[str[i]] ++;
}
if(ma['0'] < k){
for(int i=0;i<len;i++){
if(str[i] == '1' && ma['1'] > k){
str[i] = '0';
ma['0']++;
ma['1']--;
}
else if(str[i] == '2' && ma['2'] > k){
str[i] = '0';
ma['0'] ++;
ma['2'] --;
}
if(ma['0'] == k)break;
}
}
if(ma['0'] > k){
for(int i=len-1;i>=0;i--){
if(str[i] == '0' && ma['2'] < k){
str[i] = '2';
ma['2']++;
ma['0']--;
}
else if(str[i] == '0'){
str[i] = '1';
ma['1'] ++;
ma['0'] --;
}
if(ma['0'] == k) break;
}
}
if(ma['1'] > k){
for(int i=len-1;i>=0;i--){
if(str[i] == '1'){
str[i] = '2';
ma['2'] ++;
ma['1'] --;
}
if(ma['1'] == k)break;
}
}
if(ma['2'] > k){
for(int i=0;i<len;i++){
if(str[i] == '2'){
str[i] = '1';
ma['1'] ++;
ma['2'] --;
}
if(ma['2'] == k) break;
}
}
cout<<str<<endl;
return 0;
}
- COGS 68. [NOIP2005] 采药【01背包复习】
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
- 我的第一个网页制作:Hello World!
- UESTC 1584 Washi与Sonochi的约定【树状数组裸题+排序】
- Hyperledger - 超级账本项目:简介,安装,案例
- 我的第三个网页制作:b、i、s、u、sub、sup标签的使用
- 【AlphaGo Zero 核心技术-深度强化学习教程代码实战04】Agent类和SARSA算法实现
- 我的第二个网页制作:p,hn,br标签的使用
- 超级账本项目:架构设计
- 我的第四个网页制作:列表标签
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛题解&&源码【A,水,B,水,C,水,D,快速幂,E,优先队列,F,暴力,G,贪心+排序,H,STL乱搞,I,尼姆博弈,J,差分dp
- 虎嗅主站盲打成功(已进后台)
- 我的第五个网页制作:pre、html转义、abbr标签的使用
- UVALive 3882 - And Then There Was One【约瑟夫问题】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java 对象相关面试题
- 【每日一题】【vue2源码学习】VUE中模版编译原理
- 【每日一题】【vue2源码学习】对VUE响应式数据的理解
- ApacheCN 深度学习译文集 2020.9
- 当Docker遇到Intellij IDEA,再次解放了生产力~
- 基于NPOI的Excel导入导出类库
- 在tinycolinux32上装tinycolinux64 kernel和toolchain
- 通过链下签名授权实现更少 Gas 的 ERC20代币
- 在dbcolinux上安装cozy-light
- 在群晖docker上装elmlang可视调试编码器ellie
- Elasticsearch:inverted index,doc_values及source
- 在群晖docker上构建私有云IDE和devops构建链
- 小白学PyTorch | 14 tensorboardX可视化教程
- Apache Solr 漏洞复现
- Elasticsearch rollover API