奇怪的思路,样例过了。难不成是某谷的老bug?
查看原帖
奇怪的思路,样例过了。难不成是某谷的老bug?
550532
LS时空光影楼主2022/7/5 19:24

大佬救命

#include <iostream>
#include <cstdio>
using namespace std;
int T,n,m,i,j,t,w,xx,yy,tt,x[3000],y[3000];
char s[10],c[100][100];
int main(){
	scanf("%d%d",&n,&m);
	for(i=0;i<=n+1;i++)
		for(j=0;j<=m+1;j++)
			c[i][j]='X';
	for(i=1;i<=n;i++) scanf("%s",c[i]+1);
	scanf("%d",&T);
	t=w=1;
	while(T--){
		tt=w;
		scanf("%s",s);
		while(t<=tt){
			for(i=1;i<=max(n,m);i++){
				xx=x[t];yy=y[t];
				if(s[0]=='N') xx=x[t]-i;
				if(s[0]=='W') yy=y[t]-i;
				if(s[0]=='S') xx=x[t]+i;
				if(s[0]=='E') yy=y[t]+i;
				if(c[xx][yy]=='X') break;
				w++;
				x[w]=xx;y[w]=yy;
			}
			t++;
		}
	}
	for(i=t;i<=w;i++) c[x[i]][y[i]]='*';
	for(i=1;i<=n;i++) printf("%s",c[i]);
	return 0;
}
2022/7/5 19:24
加载中...