Educational Codeforces Round 2 600C Make Palindrome(脑洞)
来源:互联网 发布:大数据热门新闻 编辑:程序博客网 时间:2024/05/29 15:59
题目链接: 点击打开链接
给出一个字符串, 可以更改任意位置字符或重新排序字符串使得字符串为回文, 要求变换最少次数, 输出变换后的字符串.
计数字符的个数, 遍历每个字符, 若当前字符为奇数, 则从后向前寻找个数为奇数的字符, 若找到的字符为本身, 则将当前字符放到字符串
中间, 否则替换为当前字符.
AC 代码:
#include "iostream"#include "cstdio"#include "cstring"#include "algorithm"#include "queue"#include "stack"#include "cmath"#include "utility"#include "map"#include "set"#include "vector"#include "list"#include "string"#include "cstdlib"using namespace std;typedef long long ll;const int MOD = 1e9 + 7;const int INF = 0x3f3f3f3f;const int MAXN = 30;string s;int num[MAXN];int main(int argc, char const *argv[]){cin >> s;int len = s.size(), x = 25, pos = 0;for(int i = 0; i < len; ++i)num[s[i] - 'a']++;for(int i = 0; i < 26; ++i) {if(num[i] & 1) {while(num[x] % 2 == 0 && i < x) x--;if(i == x) {num[i]--;s[len / 2] = i + 'a';}else {num[x]--;num[i]++;}}for(int j = 0; j < num[i] / 2; ++j) {s[pos] = i + 'a';s[len - pos - 1] = i + 'a';pos++;}}cout << s << endl;return 0;}
1 0
- Educational Codeforces Round 2 600C Make Palindrome(脑洞)
- Educational Codeforces Round 2-C. Make Palindrome
- Educational Codeforces Round 2C. Make Palindrome(贪心构造)
- Educational Codeforces Round 2 C.Make Palindrome(贪心)
- Educational Codeforces Round 2 C. Make Palindrome —— 贪心 + 回文串
- Educational Codeforces Round 4 612C Replace To Make Regular Bracket Sequence(脑洞)
- Educational Codeforces Round 2
- Educational Codeforces Round 2
- Educational Codeforces Round 2
- CodeForces 600C Make Palindrome 贪心
- codeforces 600C. Make Palindrome(贪心)
- CodeForces 600C Make Palindrome (模拟题)
- 【Codeforces 600C. Make Palindrome】& 构造
- Educational Codeforces Round 21 C
- Educational Codeforces Round 5 C
- Educational Codeforces Round 26 C
- Codeforces - Educational Codeforces Round 14B - s-palindrome(模拟)
- codeforces 863A && Educational Codeforces Round 29 Quasi-palindrome
- 天气:阴
- j2EE环境配置
- iOS开发笔记--项目重命名
- 推荐的编程网站
- React 快速入门
- Educational Codeforces Round 2 600C Make Palindrome(脑洞)
- Tomcat设置解决乱码问题
- 小试牛刀(进制)
- C语言指针5分钟教程
- java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp区别、联系和转换
- 从古到今 回顾苹果Mac OS的前世今生
- web页面化工作的前期基础学习(五)——HTML布局
- Android开发笔记--隐藏按钮
- R语言—R语言常用语法