제출 #44271

#제출 시각아이디문제언어결과실행 시간메모리
44271RayaBurong25_1Tents (JOI18_tents)C++17
48 / 100
389 ms216640 KiB
#include <stdio.h>
#define MOD 1000000007LL
long long DP[305][305][305];
long long E[305];
int min(int a, int b)
{
    return (a < b)?a:b;
}
int main()
{
    int H, W;
    scanf("%d %d", &H, &W);
    int i, j, k, l;
    DP[0][W][0] = 1;
    E[0] = 1;
    for (l = 1; l <= W; l++)
        E[l] = (E[l - 1]*4)%MOD;
    long long Ans = 0;
    for (i = 1; i <= H; i++)
    {
        for (j = 0; j <= W; j++)
        {
            for (k = 0; j + k <= W; k++)
            {
                DP[i][j][k] = (DP[i][j][k] + (j + 2)*(j + 1)/2*DP[i - 1][j + 2][k])%MOD;
                DP[i][j][k] = (DP[i][j][k] + (k + 1)*DP[i - 1][j][k + 1])%MOD;
                DP[i][j][k] = (DP[i][j][k] + (j + 1)*DP[i - 1][j + 1][k - 1])%MOD;
                DP[i][j][k] = (DP[i][j][k] + DP[i - 1][j][k])%MOD;
                // if (k == l) printf("DP[%d][%d][%d][%d] = %lld\n", i, j, k, l, DP[i][j][k][l]);
                if (i == H) Ans = (Ans + DP[i][j][k]*E[k])%MOD;
            }
        }
    }
    printf("%lld", (Ans + MOD - 1)%MOD);
}

컴파일 시 표준 에러 (stderr) 메시지

tents.cpp: In function 'int main()':
tents.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &H, &W);
     ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...