#include <bits/stdc++.h>
using namespace std;
const int mod(1000000007);
int modalitati[3001][3001];
int main ()
{
ios :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int linii , coloane;
cin >> linii >> coloane;
for (int __coloane = 0 ; __coloane <= coloane ; __coloane++)
{ modalitati[0][__coloane] = 1; }
for (int __linie = 1 ; __linie <= linii ; __linie++)
{ modalitati[__linie][0] = 1; }
for (int __linii = 1 ; __linii <= linii ; __linii++) {
for (int __coloane = 1 ; __coloane <= coloane ; __coloane++)
{ modalitati[__linii][__coloane] = (modalitati[__linii - 1][__coloane] + 4LL * __coloane * modalitati[__linii - 1][__coloane - 1] % mod + (__coloane == 1 ? 0 : 1LL * __coloane * (__coloane - 1) / 2 % mod * modalitati[__linii - 1][__coloane - 2] % mod) + (__linii == 1 ? 0 : 1LL * __coloane * (__linii - 1) % mod * modalitati[__linii - 2][__coloane - 1] % mod)) % mod; }
}
cout << (modalitati[linii][coloane] + 1000000006) % mod;
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |