# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
22679 | 삼*전자 그린픽스 (#40) | hi (KRIII5_HI) | C++98 | 3 ms | 1256 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<stdio.h>
#define M 1000000007
int n;
int a[109];
int dx[6] = { 1,1,0,-1,-1,0 };
long long int dd[109][109];
int rr[109][109];
long long int dp_small(int p, int q)
{
int i, j, k;
if (p < q) { k = p; p = q; q = k; }
if (q < 0)return 0;
if (rr[p][q]) return dd[p][q];
rr[p][q] = 1;
if (q == 0)return dd[p][q] = p;
long long int res = 0;
for (i = 0; i < p; i++) {
k = i % 6;
if (dx[k] == 1) {
res = (res + dp_small(p - i - 1, q)) % M;
}
else if (dx[k] == -1) {
res = (res - dp_small(p - i - 1, q) + M) % M;
}
}
for (i = 0; i < q; i++) {
k = i % 6;
if (dx[k] == 1) {
res = (res + dp_small(q - i - 1, p)) % M;
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |