Submission #1077645

#TimeUsernameProblemLanguageResultExecution timeMemory
1077645boyan2010Tents (JOI18_tents)C++17
100 / 100
224 ms67676 KiB
#include<bits/stdc++.h> using namespace std; long long n,m,dp[3001][3001]; bool vis[3001][3001]; const long long mod=1e9+7; long long f(long long i,long long j) { if(j==0 || i==0) { return 1; } if(i<0 || j<0) { return 0; } if(vis[i][j]) { return dp[i][j]; } vis[i][j]=1; dp[i][j]=((((f(i-1,j)+4*j*f(i-1,j-1))%mod+f(i-1,j-2)*j*(j-1)/2)%mod)+f(i-2,j-1)*j*(i-1))%mod; return dp[i][j]; } int main() { cin>>n>>m; cout<<f(n,m)-1; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...