题解
你怎么能在地图都没有输入完成的情况下判断呢?
code
#include<bits/stdc++.h>
using namespace std;
string s[505];
int xx[4]={0,-1,1,0},yy[4]={1,0,0,-1};
int main()
{
int n,m;
cin>>n>>m;
int flag=1;
for(int i=1;i<=n;i++)
{
cin>>s[i];
s[i]=' '+s[i];
}
for(int i=1;i<=n;i++)//错误:你怎么能在地图没有输入完全的情况下判断呢?
{
for(int j=1;j<=m;j++)
{
if(s[i][j]=='W')
{
for(int k=0;k<4;k++)
{
int x1=i+xx[k],y1=j+yy[k];
if(x1>=1&&x1<=n&&y1>=1&&y1<=m&&s[x1][y1]=='S') flag=0;
}
}
}
}
if(flag)
{
puts("Yes");
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(s[i][j]=='.') cout<<'D';
else cout<<s[i][j];
}
puts("");
}
}
else puts("No");
return 0;
}
标签:Sheep,Protect,code,int,题解,&&
From: https://www.cnblogs.com/pure4knowledge/p/18194775