Submission #1077654

#TimeUsernameProblemLanguageResultExecution timeMemory
1077654MC123Tents (JOI18_tents)C++14
100 / 100
265 ms67668 KiB
#include <bits/stdc++.h> using namespace std; long long bruh=1e9+7; bool d[3001][3001]; long long mem[3001][3001]; long long dp(long long n,long long m){ if(n<0||m<0)return 0; if(n==0||m==0)return 1; if(d[n][m])return mem[n][m]; d[n][m]=1; return mem[n][m]=(((dp(n-1,m)%bruh+(4*m*dp(n-1,m -1))%bruh)%bruh+(dp(n-1,m-2)*m*(m-1)/2)%bruh)%bruh+(dp(n-2,m-1)*m*(n-1))%bruh)%bruh; } int main(){ ios_base::sync_with_stdio (0); cin.tie(0); cout.tie(0); long long n,m; cin>>n>>m; cout<<dp(n,m)-1 ; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...