自测样例全过,wa了
查看原帖
自测样例全过,wa了
251882
蒟蒻丁楼主2021/1/29 13:16

rt,复制黏贴了标称对拍[emmm],但交上去还是直接wa
正在重构代码(这也能重构??)

#include<iostream>
#include<cstdio>
#include<cstring>
#define ll double
#define int long long
using namespace std;
int n,m,c;
ll ans,C[105][105];

static inline ll ksm(ll x,int k){
	ll tmp=1,X=x;
	while(k){
		if((k%2)==1)tmp=tmp*X;
		X=X*X,k/=2;
	}
	return tmp;
}

signed main(){
	C[0][0]=1.0;
	for(int i=1;i<=103;i++){
		C[i][0]=1.0;
		for(int j=1;j<=i;j++)C[i][j]=C[i-1][j-1]+C[i-1][j];
	}
	while(cin>>c){
		if(!c)break;
		scanf("%lld%lld",&n,&m),ans=0.0;
		if(m>c||m>n||(n-m)%2==1){
			printf("0.000\n");
			continue;
		}
		for(int i=0;i<=m;i++){
			for(int j=0;j<=c-m;j++){
				ans+=((i&1)==1?-1:1)*C[m][i]*C[c-m][j]*ksm((c-2*i-2*j)*1.0/c,n);
			}
		}
		ans=ans*C[c][m];
		ans/=ksm(2.0,c);
		printf("%.3lf\n",ans);
	}
}

这是重构前的代码,自测样例全过

2021/1/29 13:16
加载中...