⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2142748_ac_0ms_52k.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
# include <stdio.h>
# include <string.h>

int s, r, c, st;
int mark[11][11];
char map[11][11];

void go(int i, int j)
{
	if(i==-1||i==r||j==c||j==-1)
	{
		printf("%d step(s) to exit\n",s-1);
		return ;
	}
	if(!mark[i][j])
		mark[i][j] = s++;
	else
	{
		printf("%d step(s) before a loop of %d step(s)\n",mark[i][j]-1,s-mark[i][j]);
		return ;
	}
	if(map[i][j]=='W')
		go(i,j-1);
	if(map[i][j]=='E')
		go(i,j+1);
	if(map[i][j]=='S')
		go(i+1,j);
	if(map[i][j]=='N')
		go(i-1,j);
}

void input()
{
	int i;
	
	while(scanf("%d%d%d",&r,&c,&st)==3&&r&&c&&st)
	{
		memset(mark,0,sizeof(mark));
		for(i = 0; i < r; i++)
			scanf("%s",map[i]);
		s = 1;
		go(0,st-1);
	}
}

int main()
{
	input();
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -