[蓝桥杯][基础练习VIP]完美的代价-贪心
题目描述
回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。
交换的定义是:交换两个相邻的字符
例如mamad
第一次交换 ad : mamda
第二次交换 md : madma
第三次交换 ma : madam (回文!完美!)
输入
第一行是一个整数N,表示接下来的字符串的长度(N < = 8000)
第二行是一个字符串,长度为N.只包含小写字母
输出
如果可能,输出最少的交换次数。
否则输出Impossible
样例输入
5
mamad
样例输出
3
解题思路:
https://blog.csdn.net/weixin_43487219/article/details/84801672
代码如下:
#include <iostream>
#include <cstring>
using namespace std;int main() {int n;int step = 0;bool flag = false;cin >> n;string s;cin >> s;int N = n - 1;for (int i = 0; i < N; i++)for (int j = N; j >= i; j--) {if (i == j) {if (n % 2 == 0 || flag == true) {cout << "Impossible" << endl;return 0;}flag = true;step+=n/2-i;} else if (s[i] == s[j]) {for (int k = j; k < N; k++) {swap(s[k], s[k + 1]);step++;}N--;break;}}cout << step << endl;return 0;
}
[蓝桥杯][基础练习VIP]完美的代价-贪心相关推荐
- [蓝桥杯][基础练习VIP]完美的代价(贪心)
题目描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的.小龙龙认为回文串才是完美的.现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串. 交换的定义是 ...
- 蓝桥杯 基础练习VIP FJ的字符串 java
蓝桥杯 基础练习VIP FJ的字符串 java 题目 题目描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = " ...
- [蓝桥杯][基础练习VIP]Huffuman树
题目描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到 ...
- 问题 1462: [蓝桥杯][基础练习VIP]Huffuman树
题目描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: ...
- [蓝桥杯][基础练习VIP]分解质因数
题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然后再分解. 数据规模和约定 2< =a< =b< =10000 输入 输入两个整数a,b. 输出 每行输 ...
- [蓝桥杯][基础练习VIP]2n皇后问题(深搜)
输出一个整数,表示总共有多少种放法. 样例输入 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 2 思路:数据量不大,就是暴力搜索,先安排一种皇后,然后再安排另一种皇后. ...
- [蓝桥杯][基础练习VIP]报时助手
题目描述 给定当前的时间,请用英文的读法将它读出来. 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上"o'clock",如3:00读 ...
- [蓝桥杯][基础练习VIP]分解质因数-质数筛选+模拟+双指针
题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然后再分解. 数据规模和约定 输入 输入两个整数a,b. 2< =a< =b< =10000 输出 每行输 ...
- [蓝桥杯][基础练习VIP]芯片测试-思维
题目描述 有n块芯片,有好有坏,已知好芯片比坏芯片多. 每个芯片都能用来测试其他芯片.用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏.而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即 ...
最新文章
- 植树节,程序员要爬哪些“树”?
- 方法革新:8个宏基因组分析新工具 | 热心肠日报
- 白话Elasticsearch31-深入聚合数据分析之bucket与metric
- RunTime.getRunTime().addShutdownHook的用法
- 在Mac的Docker中运行DotNetCore2.0
- Java 字符串与整数之间的互相转换
- keyProperty=“id“ 和useGeneratedKeys=“true“作用
- CodeForces 706A Beru-taxi
- Audio播放流程(一)---MediaPlayer流程
- 线性判别分析LDA解析2
- 9款最新炫酷HTML5/CSS3应用推荐
- 哈工大2019年春算法设计与分析期末复习
- 【分布式版本控制系统】GIT 托管网站 客户端
- sin cos 信号相加计算
- linux查看系统所有变量,Linux系统各指标命令
- Swagger 文档中文版,国产API 文档工具使用教程
- 发布java包运行提示找不到配置文件
- 学习安装java运行环境
- 【服务器raid数据恢复】RAID5两块盘离线的数据恢复案例
- java基于springboot校园视频监控管理系统
热门文章
- 【测绘程序设计】坐标正算神器V1.0(附C/C#/VB源程序)
- Matlab图形绘制
- Android之提示A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
- php基础教程 第八步循环补充
- 震惊!原来现在无所不能的世界主人翁,早已在三千年前就悄然出现!
- 为什么离开学校后,学习能力直线下降?
- 明天放假,我放价!一个国庆假期教你学会数学建模
- 小米8ios图标包下载_小米互传PC端抢先下载,免流量、高速互传,支持多设备共享...
- python 逆向生成正则表达式_用Python中的正则表达式生成lis
- c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...