Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
31891 | 陶俊宸 | 漂亮的奶牛 | C++ | 通过 | 100 | 0 MS | 468 KB | 855 | 2022-02-08 17:42:35 |
#include<iostream> #include<math.h> using namespace std; bool tt; short n,m,spot[2][2496][2],minn=100,s1i,s2i; const short dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; char cow_tipper[50][50]; void flood_fill(short x,short y,bool t){ spot[t][t?s2i:s1i][0]=x; spot[t][t?s2i++:s1i++][1]=y; cow_tipper[x][y]='.'; for(short i=0;i<4;i++){ short ax=x+dx[i],ay=y+dy[i]; if(cow_tipper[ax][ay]=='X'&&ax>=0&&ax<n&&ay>=0&&ay<m) flood_fill(ax,ay,t); } } int main(){ scanf("%hd %hd",&n,&m); for(short i=0;i<n;i++) scanf("%s",&cow_tipper[i]); for(short i=0;i<n;i++) for(short j=0;j<m;j++) if(cow_tipper[i][j]=='X') flood_fill(i,j,tt++); for(short i=0;i<s1i;i++){ for(short j=0;j<s2i;j++){ short dist=abs(spot[0][i][0]-spot[1][j][0])+abs(spot[0][i][1]-spot[1][j][1])-1; minn=min(minn,dist); } } printf("%hd",minn); return 0; }