玄学WA0分
  • 板块P1189 SEARCH
  • 楼主Yuzilihhh
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/3 21:01
  • 上次更新2023/11/3 22:35:45
查看原帖
玄学WA0分
567522
Yuzilihhh楼主2023/11/3 21:01
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define lf long double
#define INF 0x7fffffff
#define debug(alpha) cout<<alpha<<endl
#define min(a,b) (a>b?b:a)
#define max(a,b) (a>b?a:b)
#define Max3(a,b,c) (max(max((a),(b)),(c)))
#define Min3(a,b,c) (min(min((a),(b)),(c)))
using namespace std;
namespace io
{
	template<typename T> inline void iread(T &x114){
		char c=' ';int wx114=1;x114=0;
		while(!isdigit(c)){c=getchar();if(c=='-')wx114=-1;}
		while(isdigit(c)){x114=x114*10+c-'0';c=getchar();}
		x114*=wx114;
	}
	template<typename T> inline void write(T x114){
		if(x114==0){putchar('0');return;}
		if(x114<0){putchar('-');x114=-x114;}
		int stk[50],top=0;
		while(x114){stk[++top]=x114%10;x114/=10;}
		while(top) putchar(stk[top--]+'0');
	}
}
int n,m,q;
int x,y,lx,ly,l;
char a[515][515];
bool vis[515][515];
string s;
queue<int> qx,qy;
void print()
{
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=m;j=-~j)
			putchar(a[i][j]);
		puts("");
	}
}
signed main()
{
	cin>>n>>m;
	getchar();
	for(int i=1;i<=n;++i)
	{
		for(int j=1;j<=m;j=-~j)
		{
			a[i][j]=getchar();
			if(a[i][j]=='*')
			{
				qx.push(i);
				qy.push(j);
				a[i][j]='.';
			}
		}
		getchar();
	}
	io::iread(q);
	for(int i=1;i<=q;++i)
	{
		cin>>s;
		if(s=="NORTH") lx=-1,ly=0;
		else if(s=="SOUTH") lx=1,ly=0;
		else if(s=="WEST") lx=0,ly=-1;
		else lx=0,ly=1;
		int lll=qx.size();
		for(int j=1;j<=lll;++j)
		{
			l=1;
			x=qx.front(),y=qy.front();
			qx.pop();
			qy.pop();
			while(a[x+l*lx][y+l*ly]!='X'&&x+l*lx>0&&x+l*lx<=n&&y+l*ly>0&&y+l*ly<=m&&(!vis[x+l*lx][y+l*y]))
			{
				qx.push(x+l*lx);
				qy.push(y+l*ly);
				vis[x+l*lx][y+l*y]=true;
				++l;
			}
		}
		memset(vis,0,sizeof vis);
	}
	cin>>s;
	while(!qx.empty())
	{
		x=qx.front(),y=qy.front();
		qx.pop(),qy.pop();
		a[x][y]='*';
	}
	print();
	return 0;
}

这个代码本地运行时没有任何问题,但是扔到洛谷上时全WA

2023/11/3 21:01
加载中...