比赛 26暑假集训模拟赛2 评测结果 WWTEEEEEEE
题目名称 and I am home 最终得分 0
用户昵称 zcx 运行时间 2.988 s
代码语言 C++ 内存使用 3.42 MiB
提交时间 2026-07-02 11:37:53
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

int n;
int dx[6] = {0,1,-1,1,-1};
int dy[6] = {0,-1,1,1,-1};
int a[50][50];
double ans[15],m = 0;

void dfs(int x,int y,int step,int sum){
    if(step == n + 1){
        ans[sum]+=1;m+=1;
        a[x][y]--; 
        return ;
    }
    for(int i = 1;i <= 4;i++){
        int xn = x + dx[i];
        int yn = y + dy[i];
        a[xn][yn]++;
        dfs(xn,yn,step + 1,sum + (a[xn][yn] == 1));
    }
}

int main()
{
    freopen("home.in","r",stdin);
    freopen("home.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n;
    a[25][25] = 1;
    dfs(25,25,1,1);
    int anss = 0;
    double summ = 1;
    for(int i = 1;i <= n;i++) summ *= 4;
    for(int i = 2;i <= n + 1;i++){
        anss += ans[i] / m * i * summ;
    }
    cout<<anss<<endl;;
    return 0;
}