uva 10716 Evil Straw Warts Live
没有看明白这标题配图和题目有什么关系,好像这是一张专辑的名字。先要考虑有多少个字母总数是奇数,超过1个就直接输出impossible。每一次考虑两端点情况,如果字母不同,再进行搜索,换那个字母交换次数比较少,然后进行交换那一边的字母,直到变成回文串。
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<iostream>
using namespace std;int main()
{int cas,i,j,a[27],f,cnt,len,t1,t2,k;char str[1024],c;scanf("%d",&cas);getchar();while(cas--){cnt=0;memset(a,0,sizeof(a));scanf("%s",str);for(i=0;str[i]!=0;i++)a[str[i]-'a']++;f=0;for(i=0;i<26;i++){if(a[i]%2) f++;if(f>=2) break;}if(f>=2) printf("Impossible\n");else{len=strlen(str);for(i=0;i<len/2;i++){j=len-1-i;if(str[i]!=str[j]){for(t1=i;str[t1]!=str[j];t1++);for(t2=j;str[t2]!=str[i];t2--);if(t1-i>j-t2){cnt+=j-t2;for(k=t2;k<j;k++)str[k]=str[k+1];}else{cnt+=t1-i;for(k=t1;k>i;k--)str[k]=str[k-1];}}}printf("%d\n",cnt);}getchar();}return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/
转载于:https://www.cnblogs.com/xryz/p/4848091.html
uva 10716 Evil Straw Warts Live相关推荐
- uva 10716——Evil Straw Warts Live
题意:给定一个字符串,然后判断最小经过若干次交换然后使这个串变成一个回文串(每次可以交换相邻两位). 思路:贪心.如果一个串的奇数字母的个数为奇数个,那么一定是不可能的.以开头和结尾作为两头不断枚举最 ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- 《挑战程序设计竞赛(第2版)》习题册攻略
本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...
- 《算法竞赛入门经典——训练指南》第一章相关内容
#<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- POJ 超详细分类
POJ 各题算法 1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 ...
- [搜索]UVa 129 困难的串
题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...
- uva 401.Palindromes
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- Uva 3767 Dynamic len(set(a[L:R])) 树套树
Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...
最新文章
- Qt实现3D纹理渲染自由旋转空间立方体
- ITK:使用ParallelizeImageRegion
- 我国身家超过亿元的有多少人?
- fluent python 第二版_Fluent Python 笔记(二):序列基础
- java分布式对象(RMI+部署使用RMI的程序)
- swarm部署集群_WildFly Swarm –将Java EE应用程序部署为独立的Jar
- 理解node.js(Understanding node.js)
- mysql+after+commit_P8级面试难题,after_sync vs after_commit,哪个性能更好?
- JAVA线程池_并发队列工作笔记0003---线程池的分类_可缓存线程池_定长线程池_定时线程池_单例线程池
- 两年15.5k star只是新起点,涛思数据正式宣布TDengine灯塔计划
- 做一枚精致的程序猿,Fighting!
- 测试通达信指标胜率的软件,如何检测通达信选股公式的成功率?不懂得可以收藏起来自己测一下...
- camtasia2018-2019-2020下载安装激活码教程,永久免费版
- 二叉树非递归遍历(前序遍历)
- 2.sklearn—评价指标大全(平均误差、均方误差、混淆矩阵、准确率、查全率、查准率、召回率、特异度,F1-score、G-mean、KS值、ROC曲线、AUC值、损失函数、结构风险最小)
- t分布f分布与样本均值抽样分布_常见的统计分布--数据分析
- fedora 11源码安装设置fcitx3.6输入法
- 数学三次危机(一)毕达哥拉斯学派的数学发现
- 《使用IEC61499为控制系统建模》-第一章 概述
- nginx + ftp搭建文件服务器
热门文章
- android 存储不被垃圾清理,手机内存足够大,就不需要清理垃圾了?你错了!
- c 跟r语言运行速度,1. R语言运行效率分析(5)
- mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
- linux ssh禁止用户访问任何目录,怎么限制远程ssh用户访问特定的文件
- vb连接mysql未发现_vb连接MySQL遇到的问题解决方法
- 周志华《Machine Learning》 学习笔记系列(1)--绪论
- 《Python Cookbook 3rd》笔记(1.1):拆分序列后赋值给多个变量
- 《深入理解JVM.2nd》笔记(一):走进Java
- java web聊天室私聊map_java websocket聊天室示例(springboot)
- Linux加密框架 crypto 哈希算法举例 MD5