Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
32060 李言 漂亮的奶牛 C++ 通过 100 0 MS 544 KB 758 2022-02-09 13:25:15

Tests(10/10):


#include<bits/stdc++.h> using namespace std; struct point{ int x,y; }; const int N=55,M=55; char g[N][M]; vector<point> v[2]; int n,m,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1},ans=1e8; void floodfill(int x,int y,int t){ g[x][y]='.'; v[t].push_back({x,y}); for(int i=0;i<=3;i++){ int ax=x+dx[i],ay=y+dy[i]; if(ax>=0&&ax<n&&ay>=0&&ay<m&&g[ax][ay]=='X'){ floodfill(ax,ay,t); } } } int main(){ cin>>n>>m; for(int i=0;i<n;i++) cin>>g[i]; for(int i=0,t=0;i<n;i++){ for(int j=0;j<m;j++){ if(g[i][j]=='X'){ floodfill(i,j,t++); } } } for(int i=0;i<v[0].size();i++){ for(int j=0;j<v[1].size();j++){ ans=min(ans,abs(v[0][i].x-v[1][j].x)+abs(v[0][i].y-v[1][j].y)-1); } } cout<<ans<<endl; return 0; }


测评信息: