求助!P1518,代码不能正常运行,不知道哪里错了,代码如下:
  • 板块灌水区
  • 楼主xdhu
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/3/9 13:36
  • 上次更新2023/10/28 06:59:26
查看原帖
求助!P1518,代码不能正常运行,不知道哪里错了,代码如下:
665662
xdhu楼主2022/3/9 13:36
#include<iostream>
#include<cstring> 
using namespace std;
char a[15][15];
int chong[14][14][5][5]={0}; 
int xc=0,yc=0,xf=0,yf=0,we[3],wr[3];
void mov_c(int *w,int &x,int &y){
	chong[x][y][w[1]+2][w[2]+2]=1;
	if(a[x+w[1]][y+w[2]]=='.'||a[x+w[1]][y+w[2]]=='C'||a[x+w[1]][y+w[2]]=='F'){
		x+=w[1];
		y+=w[2];
	}else{w[1]++;
	w[2]++;
	} 
	if(w[1]>1)w[1]=0;
	if(w[2]>1)w[2]=0;
} 
 int main(){
	int xc=0,yc=0,xf=0,yf=0,we[3],wr[3];
	we[1]=-1,we[1]=0,wr[1]=-1,wr[1]=0;
	for(int i=0;i<=11;i++){
		a[0][i]='*';
		a[i][0]='*';
		a[i][11]='*';
		a[11][i]='*';
	}
	for(int i=1;i<=10;i++){
		for(int j=1;j<=10;j++){
			cin>>a[i][j];
		
			if(a[i][j]=='C'){xc=i;
			yc=j;
			}
				if(a[i][j]=='F'){xf=i;
			yf=j;
			}
		}
	}
	
	int jishu=0;
	for(int i=0;;i++){
		if(xc==xf&&yc==yf){
		cout<<jishu;
		return 0;
		}
		if(chong[xc][yc][we[1]+2][we[2]+2]==1||chong[xf][yf][wr[1]+2][wr[2]+2]==1){
			cout<<"0";
			return 0;
		}
	mov_c(we,xc,yc);
	mov_c(wr,xf,yf);
	cout<<jishu<<" ";
	jishu++;
	}
	cout<<jishu;
	return 0;
}
2022/3/9 13:36
加载中...