# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
254554 | babo | Tents (JOI18_tents) | C++14 | 145 ms | 71452 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 <bits/stdc++.h>
#define L long long
#define mod 1000000007ll
using namespace std;
L n,m;
L dp[3030][3030];
int main()
{
scanf("%lld %lld",&n,&m);
L i,j;
for(i=0;i<=n;i++)
dp[i][0]=1;
for(j=0;j<=m;j++)
dp[0][j]=1;
for(i=1;i<=n;i++)
{
dp[i][1]=(1+4*i+i*(i-1)/2)%mod;
for(j=2;j<=m;j++)
{
dp[i][j]+=dp[i][j-1];
if(i>=2) dp[i][j]+=dp[i-2][j-1]*(i*(i-1)/2%mod)%mod;
dp[i][j]+=dp[i-1][j-1]*4*i%mod;
dp[i][j]+=dp[i-1][j-2]*i%mod*(j-1)%mod;
dp[i][j]%=mod;
}
}
/*for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
printf("%lld ",dp[i][j]);
}
puts("");
}*/
printf("%lld",(dp[n][m]+mod-1)%mod);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |