# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
18998 | | kriii | 제비 (kriii4_W) | C++14 | | 21 ms | 9052 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
const long long mod = 1000000007;
long long pow(long long a, long long p)
{
long long r = 1;
while (p){
if (p & 1) r = r * a % mod;
a = a * a % mod;
p /= 2;
}
return r;
}
long long inv(long long a)
{
return pow(a,mod-2);
}
long long D[1010][1010];
int main()
{
int T; scanf ("%d",&T); while (T--){
long long r,g,b,k;
scanf ("%lld %lld %lld %lld",&r,&g,&b,&k);
static int first = 0;
if (!first){
first = 1;
for (int j=1;j<=1000;j++){
D[0][j] = j * (1 + g * inv(b) % mod) % mod;
}
for (int i=1;i<=1000;i++){
long long v = inv(i+b);
for (int j=1;j<=1000;j++){
long long s = (i * D[i-1][j] + b * D[i][j-1] + i + g + b) % mod;
D[i][j] = s * v % mod;
}
}
}
printf ("%lld\n",D[r][k]);
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |