uva 10716——Evil Straw Warts Live

题意:给定一个字符串,然后判断最小经过若干次交换然后使这个串变成一个回文串(每次可以交换相邻两位)。


思路:贪心。如果一个串的奇数字母的个数为奇数个,那么一定是不可能的。以开头和结尾作为两头不断枚举最小交换次数直到字符串的个数为2.


code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;const int INF=0x3fffffff;
const int inf=-INF;
const int N=1000000;
const int M=2005;
const int mod=1000000007;
const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(a))
#define ft(i,s,n) for (int i=s;i<=n;i++)
#define frt(i,s,n) for (int i=s;i>=n;i--)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lrt  rt<<1
#define rrt  rt<<1|1
#define middle int m=(r+l)>>1
#define lowbit(x) (x&-x)
#define pii pair<int,int>
#define mk make_pair
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);char s[150];
int cnt[30];
int main()
{int T;scanf("%d",&T);while (T--){scanf("%s",s);cls(cnt,0);int l=0,r=strlen(s)-1,k=0,ans=0,m=-1;ft(i,l,r){if (cnt[s[i]-'a']) cnt[s[i]-'a']--,k--;else cnt[s[i]-'a']++,k++;}if (k>1) {puts("Impossible");continue;}if (k==1) ft(i,0,26) if(cnt[i]==1) m=i;while(l<r){if (s[l]==s[r]) {l++,r--;continue;}if (s[l]-'a'==m) {ft(i,l+1,r-1){if (s[i]==s[r]){frt(j,i,l+1) swap(s[j],s[j-1]),ans++;r--,l++;break;}}}else {frt(i,r-1,l+1)if (s[i]==s[l]){ft(j,i,r-1)swap(s[j],s[j+1]),ans++;r--,l++;break;}}}printf("%d\n",ans);}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET 2.0 中实现模板中的数据绑定系列(2)

双向数据绑定 FormView可以通过相关的数据源控件支持自动地更新、插入和删除操作&#xff08;与DetailsView类似&#xff09;。如果要定义编辑或插入的UI&#xff0c;那么除了定义数据项模板&#xff08;ItemTemplate&#xff09;之外&#xff0c;你还要定义EditItemTemplate或…

uva 10479——The Hendrie Sequence

题意&#xff1a;开始一个数0&#xff0c;然后0变成1&#xff0c;后边的变换规则是如果当前是k就在后边加上k-1个0&#xff0c;然后再加上k-1&#xff0c;该问题求该序列的第n个数是多少。 思路&#xff1a;规律的题目。将串分成1&#xff0c;1&#xff0c;2&#xff0c;4&…

如何实现Asp与Asp.Net共享Session

在.net中&#xff0c;Session的存储机制已经与Asp的存储机制不一样&#xff0c;虽然可以在同一个IIS下同时运行asp与aspx&#xff0c;但是它们之间不能传递Session。 之前大批系统应用到了asp&#xff0c;在升级过程中&#xff0c;如果完全抛弃asp来重写&#xff0c;一来工作量…

BestCoder Round #67 (div.2) 1001——N bulbs

题意&#xff1a;给定一个长度为n的灯泡的状态序列&#xff0c;经过每个灯泡时&#xff0c;都要开关一下&#xff08;开变关&#xff0c;关变开&#xff09;&#xff0c;问能否在回到终点的条件下关掉所有的灯。 思路&#xff1a;没出现一个为1的灯&#xff0c;都需要走奇数步来…

JavaScript 参考教程——写在前面

JavaScript 参考教程 JavaScript 参考教程——写在前面 JavaScript 参考教程——JavaScript简介 JavaScript 参考教程——对象化编程 JavaScript 参考教程——文档对象 JavaScript 参考教程——事件处理 写在前面 本教程的性质 本教程是一个初级教程 本教程为未接触过 JavaScri…

uva 11995——I Can Guess the Data Structure!

题意&#xff1a;给定一个包&#xff0c;然后给定这个包的一些操作以此来判断包的数据结构类型。 思路&#xff1a;直接按照stl来模拟即可。 code&#xff1a; #include <bits/stdc.h> using namespace std;const int N1000 10; int t[N],v[N],n;int check_st(){stack&l…

MyGeneration的NHibernate代码生成模版

MyGeneration 是一款免费的代码生成工具&#xff0c;其强大性和易用性都较为人所称道。之前一直在使用DDLLY命名空间的模版来生成代码&#xff0c;久而久之就想着自己来写个&#xff0c;所幸&#xff0c;一晚上的奋战&#xff0c;终于搞出个像模像样的东东出来。如果还有什么没…

uva 1203—— Argus

题意&#xff1a;给定一个阿格斯系统&#xff0c;每个period周期都会产生一次编号为Q_num的事件&#xff0c;任务是模拟前k个事件。 思路&#xff1a;直接按照优先队列的方法来模拟和构造即可。 code&#xff1a; #include <bits/stdc.h> using namespace std;struct nod…

ASP.NET 2.0 的数据源、数据绑定控件概述与区别

一、Render UI 1 GridView GridView 控件用来在表中显示数据源的值。每列表示一个字段&#xff0c;而每行表示一条记录。GridView 控件支持下面的功能&#xff1a; 绑定至数据源控件&#xff0c;如 SqlDataSource。 内置排序功能。 内置更新和删除功能。 内置分页功能。 内…

uva 11997——K Smallest Sums

题意&#xff1a;给定k个含k个数的数列&#xff0c;然后每次从每个序列中取出一个相加&#xff0c;然后问所有的数中前k小的。 思路&#xff1a;将每个表排序后然后插入优先队列中&#xff0c;依次是a[0]b[0],a[0]b[1],然后不断合并到一张表中&#xff0c;最后打印出来即可。 c…

金蝶Apusic应用服务器的数据源管理(转)

1. 前言 在基于 J2EE 平台的应用开发中&#xff0c;大多数的应用都需要跟数据库打交道&#xff1b;而自从接触 JDBC 起&#xff0c;我们便不止一次的被告之&#xff1a;数据库资源是十分宝贵的系统资源&#xff0c;一定要谨慎使用。但令人遗憾的是&#xff0c;在笔者…

CodeForce 180 C ——Letter

题意&#xff1a;给定一定长度的字符串&#xff0c;要求规则必须是所有大写字母必须在小写字母的前面&#xff0c;也就是所谓的11111000模式。 思路&#xff1a;暴力&#xff0c;用O&#xff08;n&#xff09;的算法处理一下字符串&#xff0c;得到每个字符位前面有多少位小写以…

CodeForce 168 C——Wizards and Trolleybuses

题意&#xff1a;给定n个火车&#xff0c;加速度&#xff0c;和铁轨长度&#xff0c;然后是每个火车的最大速度和开始出发的时间&#xff0c;问每辆火车到达终点的时刻。 思路&#xff1a;暴力。考虑路上的状态可能不太容易思考&#xff0c;那就直接考虑起点和终点&#xff0c;…

树形数据查询示例

--树形数据查询示例--作者: 邹建if exists (select * from dbo.sysobjects where id object_id(N[tb]) and OBJECTPROPERTY(id, NIsUserTable) 1)drop table [tb]GO --示例数据create table [tb]([id] int identity(1,1),[pid] int,name varchar(20))insert [tb] select 0,中…

UVA 10588—— Queuing at the doctors

题意&#xff1a;给定n个工人和m个医生&#xff0c;然后进行体检&#xff0c;每个医生每秒接待一个工人&#xff0c;每个人都有一个体检项目顺序和时间&#xff0c;问最后一个员工完成体检的时间。 思路&#xff1a;优先队列模拟&#xff0c;建立m个项目的优先队列&#xff0c;…

[导入]javascript总结

1.动态添加一行&#xff0c;和删除当前行<script> var count0; function ff() { var txt1document.getElementById("Text1"); var table1document.getElementById("table1"); rowNotable1.rows.length; Trtable1.insertRow(rowNo); Tr.id"tr&qu…

UVA 10410——Tree Reconstruction

题意&#xff1a;给定一颗树的BFS和DFS&#xff0c;求这棵的每个节点。 思路&#xff1a;用栈模拟维护。对应的BFS为每个节点到根节点的距离&#xff0c;然后比较当前节点和栈顶节点与根的距离&#xff0c;如果当前节点大&#xff0c;则为栈顶节点的孩子&#xff0c;否则弹出继…

求助:DataGrid加行号的问题

我的数据是fname,lnameprivatevoidPage_Load(objectsender, System.EventArgs e) { if(!IsPostBack) { myConnectionnew SqlConnection("server127.0.0.1;uidsa;pwdsa;databaseqqq;"); strSQL"SELE…

UVA 10895——Matrix Transpose

题意&#xff1a;给定一个矩阵&#xff08;每一行有几个非0的数据&#xff0c;对应的位置以及数值&#xff09;&#xff0c;输出这个矩阵的转置矩阵。 思路&#xff1a;直接模拟&#xff0c;用两个vector&#xff0c;一个维护数值&#xff0c;另外一个维护行号。注意长度为0时输…

UVA 514——Rails

题意&#xff1a;给定两个序列A和一到n的排列B&#xff0c;问能否通过一个栈的push和pop操作使得A变成B。 思路&#xff1a;直接构造一个栈模拟即可&#xff0c;注意换行。 code&#xff1a; #include <bits/stdc.h> using namespace std;int v[1005],n;int main() {whi…