比赛 26暑假集训模拟赛2 评测结果 AATTTTTTTT
题目名称 and I am home 最终得分 20
用户昵称 董彰奇 运行时间 16.815 s
代码语言 C++ 内存使用 3.47 MiB
提交时间 2026-07-02 12:42:46
显示代码纯文本
#include"bits/stdc++.h"
using namespace std;
int n, mod = 998244353, dx[10] = { 0, 0, -1, 1 }, dy[10] = { -1, 1, 0, 0 };
long long ans = 0;
bool jl[110][110];
void dfs(int idx, int i, int j, int v)
{
    if (idx == n)
    {
        ans = (ans + v) % mod;
        return;
    }
    bool p = 0;
    if (jl[i][j]) {
        p = 1;
    }
    jl[i][j] = 1;
    for (int k = 0; k < 4; k++)
    {
        int dxx = i + dx[k], dyy = j + dy[k], vv = v;
        if (!jl[dxx][dyy])
        {
            vv++;
        }
        dfs(idx + 1, dxx, dyy, vv);
    }
    if(!p) jl[i][j] = 0;
}
int main()
{
    freopen("home.in", "r", stdin);
    freopen("home.out", "w", stdout);
    cin >> n;
    dfs(0,50, 50, 1);
    cout << ans;
    return 0;
}