P1350 车的放置

修改后在本地和洛谷IDE都能通过loj数据的代码: ```cpp #include<bits/stdc++.h> #pragma GCC optimize(2) #define int long long using namespace std; const int mod=1e5+3; int a,b,c,d,k,jc[3005],inv[3005]; int read(){ int f=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') w=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ f=f*10+ch-'0'; ch=getchar(); } return f*w; } int qpow(int x,int y){ int ans=1; while(y){ if(y&1) ans=ans*x%mod; x=x*x%mod; y>>=1; } return ans; } void init(){ jc[0]=inv[0]=1; for(int i=1;i<=2000;i++){ jc[i]=jc[i-1]*i%mod; inv[i]=qpow(jc[i],mod-2); } } int mul(int x,int y){ return jc[x]*inv[y-1]%mod; } int C(int x,int y){ if(x<y) return 0; return jc[x]*inv[y]%mod*inv[x-y]%mod; } int solve(){ int ans=0; init(); for(int i=0;i<=min(a,b);i++){ for(int j=0;j<=min(c,min(d,k-i));j++){ ans=(ans+C(a,i)*mul(b,b-i+1)%mod*C(c,j)%mod*mul(d,d-j+1)%mod*C(a-i,k-i-j)%mod*mul(d-j,d-k+i+1)%mod)%mod; } } return ans; } signed main(){ a=read(),b=read(),c=read(),d=read(),k=read(); printf("%lld\n",solve()); return 0; } ```
by tongyf @ 2020-09-29 16:43:08


|