UVa11076 - Add Again

简介: UVa11076 - Add Again
#include <cstdio>#include <cstring>usingnamespacestd;
typedeflonglongLL;
constintN=10;
intcnt[N];
intn;
LLfactorial(intx);
LLf(intx);
voidsolve();
boolinput();
intmain()
{
#ifndef ONLINE_JUDGEfreopen("e:\\uva_in.txt", "r", stdin);
#endifwhile (input()) {
solve();
    }
return0;
}
boolinput()
{
if (scanf("%d", &n) !=1||n==0) returnfalse;
memset(cnt, 0x00, sizeof(cnt));
for (inti=0; i<n; i++) {
intx;
scanf("%d", &x);
cnt[x]++;
    }
returntrue;
}
LLfactorial(intx)
{
if (x==0||x==1) return1LL;
elsereturn (LL)x*factorial(x-1);
}
LLf(intx)
{
LLans=0;
for (inti=0; i<n; i++) {
ans=ans*10+x;
    }
returnans;
}
voidsolve()
{
LLnum=factorial(n);
for (inti=0; i<N; i++) {
if (cnt[i] !=0) {
num/=factorial(cnt[i]);
        }
    }
LLans=0;
for (inti=0; i<N; i++) {
if (cnt[i] !=0) {
ans+=f(i) *num*cnt[i] /n;
        }
    }
printf("%lld\n", ans);
}
目录
相关文章
UVa343 What Base Is This
UVa343 What Base Is This
54 0
uva127 "Accordian" Patience
uva127 "Accordian" Patience
47 0
|
C++
Brute Force & STL --- UVA 146 ID Codes
 ID Codes    Problem's Link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=3&problem=82&mosmsg=Submission+received+with+ID+14418598  Mean:   求出可重排列的下一个排列。
884 0
|
C++
uva 11995 I Can Guess the Data Structure!
点击打开链接uva 11995 思路: STL模拟 分析: 1 分别用三种STL去模拟这些操作,然后进行判断输出 2 比较简单 代码: #include #include #include #include #include #i...
859 0
uva11076Add again
View Code 题意:给定n和n个数,求所有的不重复的全排列的对应数字的和。 分析:对于每个数字,在每一位出现的概率相同,那么只算出一位的结果即可。对于每一位,拿出这个数字后剩下的数字的结果,乘以这个数字对应的下标i那么就是权和了。。
635 0
uva 11636Hello World!
点击打开链接uva11636 水题 #include #include #include #include using namespace std; int solve(int n){ int ans = 0; int ...
732 0
|
算法
uva11636 Hello World!
题意就不说了,简单的二分就可以了,应当是算法初学者的一个Hello world程序吧! 只是建议用乘法去做,不要用除法去求解~注意输入的终止符是负数 1 #include 2 #include 3 using namespace std; 4 int main(){ 5...
818 0