poj1256

poj1256

简单题

ContractedBlock.gif
ExpandedBlockStart.gif
View Code


#include
<
iostream
>

#include

<
cstdio
>

#include

<
cstdlib
>

#include

<
cstring
>

#include

<
algorithm
>


using

namespace
std;


char
st[
20
];

int
num[
20
];

int
n;

int
len;

char
ans[
20
];


bool
cmp(
const

char

&
a,
const

char

&
b)
{


int
x
=
a



A

;

int
y
=
b



A

;

if
(x
>=

26
)
x

-=


a





A

;

if
(y
>=

26
)
y

-=


a





A

;

if
(x
!=
y)

return
x
<
y;

return
a
<
b;
}


void
dfs(
int
a)
{


if
(a
==
len)
{

ans[a]

=


\0

;
printf(


%s\n

, ans);

return
;
}

for
(
int
i
=

0
; i
<
n; i
++
)

if
(num[i]
>

0
)
{

ans[a]

=
st[i];
num[i]


;
dfs(a

+

1
);
num[i]

++
;
}
}


int
main()
{


//
freopen(“t.txt”, “r”, stdin);



int
t;
scanf(


%d

,
&
t);

while
(t

)
{

scanf(


%s

, st);
sort(st, st

+
strlen(st), cmp);
memset(num,

0
,
sizeof
(num));

int
j
=

0
;
len

=
strlen(st);

for
(
int
i
=

0
; i
<
len; i
++
)

if
(st[i]
==
st[j])
num[j]

++
;

else

{

st[

++
j]
=
st[i];
num[j]

=

1
;
}
n

=
j
+

1
;
dfs(

0
);
}

return

0
;
}

转载于:https://www.cnblogs.com/rainydays/archive/2011/06/24/2089132.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110604.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Navicat 导入sql文件时 执行失败 报错问题[通俗易懂]

    Navicat 导入sql文件时 执行失败 报错问题[通俗易懂]在Navicat导出的 或者别的sql文件,在使用Navicat导入时候 出现异常失败报错问题。搜索了很多资料查看,发现是没有解决掉的。最后无意间想起使用 MySql 直接使用命令导入尝试,发现可行的简单粗暴,直接打开你的MySql 登录以后 选择 要导入的数据库use 数据库名称;source 文件的绝对路径;完事 ,坐等~…

    2022年8月19日
    31
  • Http中GET和POST请求的区别

    Http中GET和POST请求的区别

    2021年10月30日
    39
  • C#编程入门_ToArray和CopyTo的区别_22「建议收藏」

    C#编程入门_ToArray和CopyTo的区别_22「建议收藏」ToArray是将一个集合转化成一个数组,该数组是进行ToArray操作的一个产物CopyTo(T[]array)是一个将集合中的数据复制到一个一个已经存在的数组中,只不过是对数组中的元素进行修改usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.T

    2022年5月15日
    37
  • easyui window refresh 刷新两次解决办法

    easyui window refresh 刷新两次解决办法这样写刷新两次$("#changeMwsAccountWin").window(‘refresh’,"adsfasdf.php"’);$("#changeMwsAccountWin").window(‘open’); 这样写刷新一次$("#changeMwsAccountWin").window(‘open’);$("#changeMwsAccountWin").wi…

    2022年7月18日
    16
  • 分享一个好用的Python在线编辑器

    分享一个好用的Python在线编辑器原文:https://lwebapp.com/zh/python-online需求有小伙伴可能听说过PyScript,知道了Python可以通过打包成wasm运行在浏览器端了,这样做一些需要Python来做的功能,可以直接在浏览器完成,无需和服务器交互,打开了开发者的想象力。这里我们要推荐的是一个在线工具,也是支持Python代码的执行,一个在线的Python代码编辑器Python在线编辑器地址:https://lwebapp.com/zh/python-playground如何使用Py

    2022年8月14日
    3
  • c# TextBox

    c# TextBox1.text内容全选事件textBox1.selectAll();2.失去与获取焦点事件小诀窍:在输入+= 后,按两次Tab键,就会出现后面的

    2022年7月3日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号