没有看明白这标题配图和题目有什么关系,好像这是一张专辑的名字。先要考虑有多少个字母总数是奇数,超过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相关推荐

  1. uva 10716——Evil Straw Warts Live

    题意:给定一个字符串,然后判断最小经过若干次交换然后使这个串变成一个回文串(每次可以交换相邻两位). 思路:贪心.如果一个串的奇数字母的个数为奇数个,那么一定是不可能的.以开头和结尾作为两头不断枚举最 ...

  2. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  3. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  4. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

  5. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  6. POJ 超详细分类

    POJ 各题算法 1000    A+B Problem            送分题     49%    2005-5-7 1001    Exponentiation         高精度   ...

  7. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  8. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  9. 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 ...

最新文章

  1. Qt实现3D纹理渲染自由旋转空间立方体
  2. ITK:使用ParallelizeImageRegion
  3. 我国身家超过亿元的有多少人?
  4. fluent python 第二版_Fluent Python 笔记(二):序列基础
  5. java分布式对象(RMI+部署使用RMI的程序)
  6. swarm部署集群_WildFly Swarm –将Java EE应用程序部署为独立的Jar
  7. 理解node.js(Understanding node.js)
  8. mysql+after+commit_P8级面试难题,after_sync vs after_commit,哪个性能更好?
  9. JAVA线程池_并发队列工作笔记0003---线程池的分类_可缓存线程池_定长线程池_定时线程池_单例线程池
  10. 两年15.5k star只是新起点,涛思数据正式宣布TDengine灯塔计划
  11. 做一枚精致的程序猿,Fighting!
  12. 测试通达信指标胜率的软件,如何检测通达信选股公式的成功率?不懂得可以收藏起来自己测一下...
  13. camtasia2018-2019-2020下载安装激活码教程,永久免费版
  14. 二叉树非递归遍历(前序遍历)
  15. 2.sklearn—评价指标大全(平均误差、均方误差、混淆矩阵、准确率、查全率、查准率、召回率、特异度,F1-score、G-mean、KS值、ROC曲线、AUC值、损失函数、结构风险最小)
  16. t分布f分布与样本均值抽样分布_常见的统计分布--数据分析
  17. fedora 11源码安装设置fcitx3.6输入法
  18. 数学三次危机(一)毕达哥拉斯学派的数学发现
  19. 《使用IEC61499为控制系统建模》-第一章 概述
  20. nginx + ftp搭建文件服务器

热门文章

  1. android 存储不被垃圾清理,手机内存足够大,就不需要清理垃圾了?你错了!
  2. c 跟r语言运行速度,1. R语言运行效率分析(5)
  3. mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
  4. linux ssh禁止用户访问任何目录,怎么限制远程ssh用户访问特定的文件
  5. vb连接mysql未发现_vb连接MySQL遇到的问题解决方法
  6. 周志华《Machine Learning》 学习笔记系列(1)--绪论
  7. 《Python Cookbook 3rd》笔记(1.1):拆分序列后赋值给多个变量
  8. 《深入理解JVM.2nd》笔记(一):走进Java
  9. java web聊天室私聊map_java websocket聊天室示例(springboot)
  10. Linux加密框架 crypto 哈希算法举例 MD5