贪吃蛇 你设计一款贪吃蛇的游戏,游戏地图是一个 n×n 的方阵,从左上角(第 1 行第 1列)出发,移动规则如下: (1)初始方向:向下移动; (2)移动规则:若前方格子未被访问过,则沿当前方向前进;若前方格子已被访问过,则立即左转(不移动),并重新判断前进条件。 目标:计算到达第 i 行第 j 列所需的步数。 时间限制:1000ms,内存限制:256MB 输入格式 第1行: 一个正整数 N,表示地图大小。 第2行:两个正整数 i、j,表示询问走到当前第 i 行第 j 列。 输出格式 仅一行,表示走到当前位置所需步数。 输入样例#1 6 2 3 输出样例#1 32 输入样例#2 6 6 5 输出样例#2 10 数据范围: 1≤n≤100000,1≤i、j≤n。
正确答案:参考程序(Python):N=int(input());i,j=map(int,input().split());vis={(0,0)};x=y=0;step=0;dirs=[(1,0),(0,1),(-1,0),(0,-1)];d=0;while (x,y)!=(i-1,j-1):step+=1;nx=x+dirs[d][0];ny=y+dirs[d][1];if not (0<=nx<N and 0<=ny<N) or (nx,ny) in vis:d=(d+1)%4;continue;x,y=nx,
试卷来源:202509 青少年等级考试C/C++真题五级