UVa-11076 Add Again(平均数思想)
来源:互联网 发布:linux 查看db2 序列号 编辑:程序博客网 时间:2024/06/05 16:24
思路:平均数思想
由于每个数出现在各个位的次数是一样的,
所以ans=每个位的平均数*排列数*n个1
如1 1 2 2 ans=((1+1+2+2)/4) * (A(4,4)/(A(2,2)*A(2,2)))*1111
#include<iostream>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const long long a[13]={0,1,11,111,1111,11111,111111,1111111,11111111,111111111,1111111111,11111111111,111111111111};long long fac[13];int main(){int n;int all,num;long long ans;int b[10]; fac[0]=1; for(int i=1;i<=12;i++){ fac[i]=i*fac[i-1];//把每个数阶乘的结果存到数组里}while(cin>>n&&n!=0){all=0;memset(b,0,sizeof(b));for(int i=0;i<n;i++){cin>>num;all=all+num;b[num]++;//b[num]表示num的数有几个,num为0到9}ans=fac[n-1]*all;for(int i=0;i<10;++i){ans/=fac[b[i]];}cout<<(unsigned long long)ans*a[n]<<endl;}return 0;}
0 0
- UVa-11076 Add Again(平均数思想)
- UVA 11076 - Add Again
- UVA 11076 Add Again
- UVa:11076 Add Again
- UVA 11076 Add Again
- uva 11076 Add Again
- UVA 11076 Add Again
- UVA 11076-Add Again
- uva 11076Add Again
- Add Again(UVA 11076)
- UVA 11076 Add Again(重复元素排列)
- UVa 11076 Add Again (组合数学)
- uva 11076 - Add Again(组合数学)
- UVa 11076 Add Again(数学)
- Add Again UVA
- Uva 11076 Add Again 解题报告(组合数学)
- UVA 11076 - Add Again(数论+组合数学)
- UVA - 11076 Add Again (重复元素的排列)
- HDU
- Zookeeper源码分析之Watcher机制(三)
- 课程学习归纳总结(0221)
- 文章标题
- Zookeeper简介(一)
- UVa-11076 Add Again(平均数思想)
- 数学回味系列之1
- 搜索dfs-hdu Oil Deposits
- POJ 3422 Kaka's Matrix Travels(费用流 拆点)
- python pandas dataframe 去重函数
- 线性表 初始化 插入 删除 的操作
- Atitit 路径规划法attilax总结 扫描线路法
- WIN7下安装华笙
- Linux文件的基本操作