救救孩子吧!!!!!!!!!!
查看原帖
救救孩子吧!!!!!!!!!!
1266829
cjy2327134004楼主2024/10/30 19:49
#include<bits/stdc++.h>
using namespace std;
char q[1001][1001];
int w[1001][1001];
int main()
{
	for(int i=1;i<=1001;i++)
		for(int o=1;o<=1001;o++)
		w[i][o]==0;
		
	int T;
	cin>>T;
	for(int i=1;i<=T;i++)
	{
		int z=1;
		int n,m,k;
		cin>>n>>m>>k;
		int x0,y0,d0;
		cin>>x0>>y0>>d0;
		for(int i=1;i<=n;i++)
		for(int o=1;o<=m;o++)
		cin>>q[i][o];
		 while(k>0)
		 {
		 	if(d0==0)
		 	{
		 	if(q[x0][y0+1]=='.'){
		 		y0++;
		 		z++;
		 		w[x0][y0+1]+=1;
		 		if(w[x0][y0+1]!=1)z--;
		 		k--;
			 }
			 else
			 	{
			 	d0=(d0+1)%4;
			 	k--;
			 	continue;
				}
			 }
			 if(d0==1)
		 	{
		 	if(q[x0+1][y0]=='.'){
		 		x0++;
		 		z++;
		 		w[x0+1][y0]+=1;
		 		if(w[x0+1][y0]!=1)z--;
		 		k--;
			 }
			 else
			 {
			 	d0=(d0+1)%4;
			 	k--;
			 	continue;
			 }
			 }
			 if(d0==2)
		 	{
		 	if(q[x0][y0-1]=='.'){
		 		y0--;
		 		z++;
		 		w[x0][y0-1]+=1;
		 		if(w[x0][y0-1]!=1)z--;
		 		k--;
			 }
			 else
			 	{
			 	d0=(d0+1)%4;
			 	k--;
			 	continue;
				}
			 }
			 if(d0==3)
		 	{
		 	if(q[x0-1][y0]=='.'){
		 		x0--;
		 		z++;
		 		w[x0-1][y0]+=1;
		 		if(w[x0-1][y0]!=1)z--;
		 		k--;
		 		
			 }
			else
			 {
				d0=(d0+1)%4;
				k--;
				continue;
			 }
			}
		 }
		 cout<<z<<"\n";
	}
	return 0;
}
2024/10/30 19:49
加载中...