제출 #82882

#제출 시각아이디문제언어결과실행 시간메모리
82882Bodo171Tents (JOI18_tents)C++14
100 / 100
169 ms71448 KiB
#include <iostream> #include <fstream> using namespace std; const long long mod=1000*1000*1000+7; long long dp[3005][3005]; int h,w; long long i,j; int main() { // freopen("data.in","r",stdin); cin>>h>>w; for(i=0;i<=max(h,w);i++) dp[i][0]=dp[0][i]=1; for(i=1;i<=h;i++) { for(j=1;j<=w;j++) { dp[i][j]+=(1LL*dp[i-1][j])%mod; if(j>=2)dp[i][j]+=(1LL*dp[i-1][j-2]*j*(j-1)/2)%mod; if(i>=2)dp[i][j]+=(dp[i-2][j-1]*1LL*(i-1)*j)%mod; dp[i][j]+=(dp[i-1][j-1]*4*j)%mod; dp[i][j]%=mod; } } cout<<(dp[h][w]-1+mod)%mod; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...