求助。为什么洛谷IDE上运行错误(RE)
查看原帖
求助。为什么洛谷IDE上运行错误(RE)
386471
xxzjh04170915楼主2021/9/30 22:17
#include<bits/stdc++.h>
using namespace std;
char tu[13][13];
int bu1[4]={0,1,0,-1};
int bu2[4]={1,0,-1,0};
int x1;
int y11;
int x2,y2;
int fx1,fx2;
int lsp;
int shijian;
bool ji[150000];
bool jie()
{
    if(x1==x2&&y11==y2) return 0;
    else if(ji[lsp]) return 0;
    else return 1;
}
void yun()
{   
    
    while(jie())
    {
        ji[lsp]=true;
        if(tu[x1+bu1[fx1]][y11+bu1[fx1]]!='*') x1+=bu1[fx1],y11+=bu2[fx1];
        else fx1++,fx1%=4;
        if(tu[x2+bu2[fx2]][y2+bu2[fx2]]!='*') x2+=bu1[fx2],y2+=bu2[fx2];
        else fx2++,fx2%=4;
        shijian++;
        lsp=x1+10*y11+100*x2+1000*y2+10000*fx1+40000*fx2;
    }
    if(x1==x2&&y11==y2) cout<<shijian;
    else cout<<0;
}
int main()
{
	for(register int i=0;i<=11;i++)
	{
		tu[0][i]='*';
		tu[11][i]='*';
		tu[i][0]='*';
		tu[i][11]='*';
	}
	for(register int i=1;i<=10;i++)
	{
		for(register int j=1;j<=10;j++)
		{
			cin>>tu[i][j];
			if(tu[i][j]=='C') x1=i,y11=j;
			else if(tu[i][j]=='F') x2=i,y2=j;
		}
	}
    yun();
	//cout<<x1<<' '<<y11;	//cout<<tu[10][10];
	//cout<<tu[10][10];
	return 0;
 } 
2021/9/30 22:17
加载中...