- 迷宫
- 2024-04-18 20:53:35 @
//两个点WA
#include<bits/stdc++.h>
using namespace std;
int n,ans;
char a[305][305];
int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
void dfs(int x,int y)
{
for(int k=0;k<4;k++)
{
int nx=x+dir[k][0],ny=y+dir[k][1];
if(a[nx][ny]!='.')continue;
a[nx][ny]='*';
if(nx==1&&ny!=1)ans+=9;
if(ny==1&&nx!=1)ans+=9;
if(nx==n&&ny!=n)ans+=9;
if(ny==n&&nx!=n)ans+=9;
for(int i=0;i<4;i++)
if(a[nx+dir[i][0]][ny+dir[i][1]]=='#')ans+=9;
dfs(nx,ny);
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
dfs(1,1);
cout<<ans<<endl;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 1516
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 9
- 已通过
- 1
- 通过率
- 11%
- 被复制
- 2
- 上传者