标签:不容易 include def 错排 dash ash return bre amp
//2048H - 神、上帝以及老天爷
#include<stdio.h>
#define L 20
int main()
{
int i;
long long f[L+1],g[L+1];
long long an[L+1];
int x,n;
double y;
f[1]=0;
g[1]=1;
for(i=2;i<=L;i++)
{
g[i]=(i-1)*g[i-1]+f[i-1];
f[i]=(i-1)*g[i-1];
}
an[0]=1;
for(i=1;i<=L;i++)
{
an[i]=an[i-1]*i;
}
scanf("%d",&n);
for(;n>0;n--)
{
scanf("%d",&x);
y=(double)f[x]/an[x]*100;
printf("%.2lf%%\n",y);
}
return 0;
}
//2049I - 不容易系列之(4)——考新郎
#include<stdio.h>
#define L 20
long long chu(int i,int j,long long k)
{
int x=i,y=j,z;
while(1){
x=x%y;
if(x==0){
z=y;
break;
}
y=y%x;
if(y==0){
z=x;
break;
}
}
j/=z;
i/=z;
return (k/i*j);
}
int main()
{
int i,j;
long long f[L+1][L+1],g[L+1];
f[0][0]=1;
f[0][1]=0;
g[1]=1;
for(i=2;i<=L;i++){
g[i]=(i-1)*g[i-1]+f[0][i-1];
f[0][i]=(i-1)*g[i-1];
}
for(j=1;j<=L;j++){
for(i=1;i<=j;i++){
f[i][j]=chu(i,j,f[i-1][j-1]);
}
}
int m,n;
int c;
scanf("%d",&c);
for(;c>0;c--)
{
scanf("%d %d",&n,&m);
printf("%lld\n",f[n-m][n]);
}
return 0;
}
2068H - RPG的错排
#include<stdio.h>
#define L 25
int main(){
long long f[L/2]={0,0,1};
for(int i=3;i<=L/2;i++)
f[i]=(i-1)*(f[i-1]+f[i-2]);
long long c[L+1][L+1];
for(int i=0;i<=L;i++)
c[i][0]=c[i][i]=1;
for(int i=2;i<=L;i++)
for(int j=1;j<=i/2;j++)
c[i][i-j]=c[i][j]=c[i-1][j-1]+c[i-1][j];
long long g[L+1];
for(int i=1;i<=L;i++)
g[i]=1;
for(int i=1;i<=L;i++)
for(int j=2;j<=i/2;j++)
g[i]+=c[i][j]*f[j];
int n;
while(scanf("%d",&n)&&n)
printf("%lld\n",g[n]);
return 0;
}
标签:不容易 include def 错排 dash ash return bre amp
原文地址:https://www.cnblogs.com/lhl2019/p/12109131.html