shu_1186 字符排列问题

http://202.121.199.212/JudgeOnline/problem.php?cid=1079&pid=23

分析:

k1,k2,k3为不同单词的个数。

代码:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include <sstream>
#include <stdlib.h>
#include <ctype.h>
#include <algorithm>
using namespace std;
#define MAXN 22

long long f[MAXN];
int a[36];

void init()
{
    f[1]=1;
    for(int i=2;i<=20;i++)
        f[i] = f[i-1]*i;
    memset(a,0,sizeof(a));
}
int main()
{
    init();
    int n,typecnt=0;
    long long ans;
    char c;
    scanf("%d",&n);
    getchar();
    for(int i=0;i<n;i++){
        scanf("%c",&c);
        a[c-'a']++;
    }
    ans=f[n];
    for(int i=0;i<26;i++){
        if(a[i]) ans /= f[a[i]];
    }
    printf("%d\n",ans);
}

shu_1186 字符排列问题,布布扣,bubuko.com

时间: 2024-08-09 06:19:52

shu_1186 字符排列问题的相关文章

C实现字符排列

用已知字符串s中的字符,生成由其中n个字符组成的所有字符的排列.设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次. 例如,对于s[]="abc",n=2,则所有字符的排列有:ba,ca,ab,cb,ac,bc. 算法思想: 使用递归完成该实例. 举个例子: s = "abc",n=2 则第一个perm(n,s),即perm(2,"abc"); 首先需要判断w中的字符个数是否满足,n=2>1,表示还没有满足 首先,从s的第一

字符型图片验证码识别完整过程及Python实现

1   摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越来越严峻.本文介绍了一套字符验证码识别的完整流程,对于验证码安全和OCR识别技术都有一定的借鉴意义. 2   关键词 关键词:安全,字符图片,验证码识别,OCR,Python,SVM,PIL 3   免责声明 本文研究所用素材来自于某旧Web框架的网站 完全对外公开 的公共图片资源. 本文只做了该网站对外公开的公共图片资源进行了爬取, 并未越权 

C++ 第八课 标准c字符和字符串

atof() 将字符串转换成浮点数 atoi() 将字符串转换成整数 atol() 将字符串转换成长整型数 isalnum() 当字母或数字字符时, 返回真值 isalpha() 当字母字符时, 返回真值 iscntrl() 当控制字符时, 返回真值 isdigit() 当数字字符时, 返回真值 isgraph() 当非空格可打印字符时, 返回真值 islower() 当小写字母字符时, 返回真值 isprint() 当可打印字符时, 返回真值 ispunct() 当标点字符时, 返回真值 is

sql中的字符串匹配、函数大全

1 假设你想建立一个与Yahoo功能相似的Internet目录.你可以建立一个表用来保存一系列的站点名称,统一资源定位器(URL),描述,和类别,并答应访问者通过在HTML form中输入要害字来检索这些内容. 2 假如有一个访问者想从这个目录中得到其描述中包含要害字trading card的站点的列表.要取出正确的站点列表,你也许试图使用这样的查询: 3 4 SELECT site_name FROM site_directory WHERE site_desc=’trading card’

标准sql语句,学习

标准SQL语句总结标准SQL语句总结,标准SQL语言基本上适用于下面所列出的数据库软件 ----------------------------------------------------------------------------- 数据库软件清单 A商业数据库软件如下 1.微软的MS SQL Server和Access 2.IBM的DB2,informax 3.Sybase的大型数据库ASE,中小型数据库ASA 4.甲骨文公司的Oracle8.0,oracle9i系列 5.Borla

shell编程之正则表达式

正则表达式主要是用于描述字符排列和匹配模式的一中语法规则.它主要用于字符串的模式分割.匹配.查找及替换,最主要的目的就是用于匹配. 通配符: *  - 匹配任意内容 ? - 匹配任意一个字符 [] - 匹配括号内的内容 正则表达式用来在文件中匹配符合条件的字符串,是包含匹配. 通配符用来匹配符合条件的文件名,是完全匹配. grep.awk.sed等命令可以支持正则表达式. ls.find.cp等命令不支持正则表达式,因此只能使用shell自己的通配符来进行匹配. 一般匹配形式列举如下: * 前一

自定义字体之BMFont的使用

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************* 之前cocos2d-x文章用到了自定义字体的BMFont软件,不会用,看网上东东也没怎么看懂,自己摸索了半天,终于差不多啦,现在就来分享一下,如有错误之处,欢迎指正,Thank U~ 这个软件下载地址:http://download.csdn.net/detail

mysql内置函数

mysql数据库中提供了很丰富的函数.mysql函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作. 简单介绍几类函数的使用范围: 数学函数:这类函数只要用于处理数字.这类函数包括绝对值函数.正弦函数.余弦函数.获取随机数函数等. 字符串函数:这类函数主要用于处理字符串.其中包括字符串连接函数.字符串比较函数.将字符串的字母变成小写或大写字母的函数.获取子串的函数等. 日期和时间函数:这类函数主要用于处理日期和时间.

路由知识三

路由的过渡动画:让路由有过渡动画,需要在<router-view>标签的外部添加<transition>标签,标签还需要一个name属性. <transition name="fade"> <router-view ></router-view> </transition> css过渡类名:组件过渡过程中,会有四个CSS类名进行切换,这四个类名与transition的name属性有关,比如name="fa