Submission #822407

#TimeUsernameProblemLanguageResultExecution timeMemory
822407irmuunTents (JOI18_tents)C++17
100 / 100
152 ms70792 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() const ll mod=1e9+7; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll h,w; cin>>h>>w; ll dp[h+1][w+1]; for(ll i=0;i<=h;i++){ for(ll j=0;j<=w;j++){ if(i==0||j==0){ dp[i][j]=1; continue; } dp[i][j]=(dp[i][j-1]+dp[i-1][j-1]*4*i)%mod; if(i>=2){ dp[i][j]+=dp[i-2][j-1]*i*(i-1)/2; dp[i][j]%=mod; } if(j>=2){ dp[i][j]+=dp[i-1][j-2]*i*(j-1); dp[i][j]%=mod; } } } cout<<(dp[h][w]-1+mod)%mod; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...