社区讨论

求助求助,请dalao指教

P1189[COI 2001] SEARCH参与者 7已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@mi86fvcq
此快照首次捕获于
2025/11/21 09:23
4 个月前
此快照最后确认于
2025/11/21 09:23
4 个月前
查看原帖
白名蒟蒻表示好无奈呀,为啥会只有30分呢。。。真不知道哪里错了
CPP
#include<bits/stdc++.h>
int r,c,qdh,qdl,bz,n,js1,js2;
int ydh[1002],ydl[1002];
char dt[52][53],sr[8];
void ss(int zz,int wzh,int wzl){
	if(zz==n+1){
		dt[wzh][wzl]='*';
		return;
	}
	wzh+=ydh[zz];
	wzl+=ydl[zz];
	while(dt[wzh][wzl]!='X'){
		if(1>wzh||wzh>r||1>wzl||wzl>c)
			break;
		ss(zz+1,wzh,wzl);
		wzh+=ydh[zz];
		wzl+=ydl[zz];
	}
}
int main()
{
	scanf("%d%d",&r,&c);
	for(js1=1;js1<=r;js1++){
		scanf("%s",dt[js1]+1);
		if(bz==0) for(js2=1;js2<=c;js2++)
			if(dt[js1][js2]=='*'){
				qdh=js1;
				qdl=js2;
				dt[js1][js2]='.';
				bz=1;
				break;
			}
	}
	scanf("%d",&n);
	for(js1=1;js1<=n;js1++){
		scanf("%s",sr+1);
		if(sr[1]=='E')
			ydl[js1]=1;
		if(sr[1]=='S')
			ydh[js1]=1;
		if(sr[1]=='W')
			ydl[js1]=-1;
		if(sr[1]=='N')
			ydh[js1]=-1;
	}
	ss(1,qdh,qdl);
	for(js1=1;js1<=r;js1++)
		printf("%s\n",dt[js1]+1);
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...