Problem 1183 - 排列

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std; int cnk(int n, int k)
{
int a,b;
a=b=;
for(int i=; i<k; i++)
{
a *= n--;
b *= (i+);
} return a/b;
} int arrange_calculate(int *a)
{
int n=;
int ans=;
for(int i=; i<; i++)
n += a[i]; for(int i=; i<; i++)
if(a[i]>)
{
ans *= cnk(n, a[i]);
n -= a[i];
}
return ans;
} int main()
{
int T,N;
cin>>T;
for(int i=; i<T; i++)
{
cin>>N;
int a[]={}; //记录N中1-9出现的次数
int total=; //记录N的各个位上的数之和
int count=; //保存N有多少位,1表示个位,2表示十位,3表示百位,以此类推
while(N)
{
int temp = N%;
total += temp;
a[temp]++;
N /=;
count++;
}
int arrangeNum = arrange_calculate(a); int s=;
for(int j=; j<count; j++)
{
s += total;
total *= ;
} int ans;
if(arrangeNum<count) //此时输入的N一定是22222这种各个位上的数都相同的这种类型的数
ans = s/count;
else
ans = (int)(s * (arrangeNum*1.0/count)); //arrangeNum不一定是count的整数倍,比如2233对应的count=4,arrangeNum=6 cout<<ans<<endl; }
return ;
}
Problem 1183 - 排列的更多相关文章
- UVALive 6909 Kevin's Problem 数学排列组合
Kevin's Problem 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid ...
- Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem 离散化 排列组合
E. Mike and Geometry Problem 题目连接: http://www.codeforces.com/contest/689/problem/E Description Mike ...
- 九度OJ 1183 守形数 (模拟)
题目1183:守形数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2663 解决:1424 题目描写叙述: 守形数是这样一种整数.它的平方的低位部分等于它本身. 比方25的平方是625. ...
- 九度OJ 1183:守形数 (数字特性)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3815 解决:2005 题目描述: 守形数是这样一种整数,它的平方的低位部分等于它本身. 比如25的平方是625,低位部分是25,因此25是 ...
- [codevs 1183][泥泞的道路(二分+spfa)
题目:http://dev.codevs.cn/problem/1183/ 分析:这个和最优比率生成树很像,都可以二分答案的,只不过判定方面一个是求是否有最短路径,一个是求是否有生成树.假设等待判定的 ...
- lintcode Permutation Index
题目:http://www.lintcode.com/zh-cn/problem/permutation-index/ 排列序号 给出一个不含重复数字的排列,求这些数字的所有排列按字典序排序后该排列的 ...
- 【Codevs1183】泥泞的道路
Position: http://codevs.cn/problem/1183/ List Codevs1183 泥泞的道路 List Description Input Output Sample ...
- ACDream - Xor pairs
先上题目: Xor pairs Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Sub ...
- Codeforcs 1183B Equalize Prices
题目链接:codeforces.com/problemset/problem/1183/B 题意:给你 n 个数,每个数能在k范围内上下浮动,求能否使所有数相等,能输出相等的最大值,不能输出 -1. ...
随机推荐
- C#调用Web Service时的身份验证
原理:webservice所在的系统中,在系统域中建立用于登录的软件的用户和密码,软件登录时将用户名.密码和登录的本机的域的名字通过webService的NetworkCredential传递到web ...
- std::min 与std::max 的 Compiler Error C2780
代码 #include<iostream>#include <algorithm> // std::min#undef minint main(){ float a =15.0 ...
- [Linux&Vim]输入输出流
流不尽,东逝水 关于流,以前大致知道有这样三个概念:标准输入流(stdin).标准输出流(stdout)和错误输出流(stderr). 什么是流,做什么用的,怎么个用法? 基本概念下面这篇文章讲得已经 ...
- IE浏览器兼容性的痛苦
做了一个弹出框的demo,在狐火,chrome,IE11中运行得好好的. 但是在IE8中死活不显示对话框,感觉IE8根本没有执行下面的javascript代码. 甚至,我简单的写alert(123), ...
- 【C++】冒泡排序、插入排序、快速排序
#include<iostream> using namespace std; void BubbleSort(int *a,int istart,int len)//冒泡排序 { //a ...
- centos 6安装报错
Missing ISO image The installer has tried to . but cannot find it on the hard drive. Please copy thi ...
- 转 :hdoj 4857 逃生【反向拓扑】
逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
操作数据库,需要判断返回的字段值是否为空,收集了3种方法供参考 1 通过System.DBNull判断,网上大部分都使用这个方法. DataTable dt; ...
- Pencil-一个开源免费的UI原型工具,自带ios和android模板
Pencil是一个开源免费的UI原型工具,自带ios和android模板,可以很方便的做mockup. 下图是一个官方展示的模板:
- SPOJ DQUERY 求区间内不同数的个数 主席树
这题跟HDU3333差不多吧. 离线的做法很简单,不再说了 以前做过. 主席树的做法就比较暴力了.. 什么是主席树呢.. 其实是某种称号. 在该题中的体现是可持久化的线段树. 对于一个数 如果以前没出 ...