php小编柚子在这里给您解答关于代码使用次数的问题。根据您的描述,您的代码似乎只能使用3次,但又无法通过其他方法进行使用。这个问题可能有多种原因,例如代码的许可证限制或者代码本身的设计问题。为了帮助您解决这个问题,我们建议您检查代码的许可证信息,确保您有合法的使用权限。同时,您也可以仔细检查代码的设计和实现,看是否有任何限制或条件导致了使用次数的限制。如果问题仍然存在,我们建议您向代码的开发者或相关技术支持寻求帮助,他们可能能够提供更具体的解决方案。
问题是: little code最近在玩ice adventure,一款n行m列的网格游戏。部分格子上有一些无法逾越的障碍物,其余格子都是光滑的冰。
玩家在其中,在一个无障碍网格上结盟,并保持静止。然后他会跟随角色上下左右移动;当他按住角色朝一个方向移动时,角色就会在冰面上滑动。自然已经让你在这里往上移动,直到角色移动方向的下一个格子出现障碍物或者超出地图边界,那么地表就会继续等待小院子哥的下一步动作。
现在给定地图上所有障碍物的位置、小院子的初始位置以及小院子的动作顺序,请找出小院子最终停留的位置。
这是我的代码
package main import "fmt" func yi(x,y int, s byte, a [][]int) (x1,y1 int){ switch(s){ case 'L': for{ if y==0 || a[x][y-1]==1{ return x,y } y-- } case 'R': for{ if y==4 || a[x][y+1]==1{ return x,y } y++ } case 'U': for{ if x==0 || a[x-1][y]==1{ return x,y } x-- } case 'D': for{ if x==4 || a[x+1][y]==1{ return x,y } x++ } } return x1,y1 } func main() { var x,y,xc,yc,count int fmt.Scanf("%d %d",&x,&y) fmt.Scanf("%d %d",&xc,&yc) fmt.Scanf("%d",&count) // s:= make([]int,1,1) i:=count // } arr := make([][]int, x) for i := 0; i < x; i++ { arr[i] = make([]int, y) } // var arr [6][6]int for j:=0;j<i;j++{ var xt,yt int fmt.Scanf("%d %d",&xt,&yt) arr [xt-1][yt-1]=1 } // for i:=0;i<x;i++{ // for j:=0;j<y;j++{ // fmt.Print(arr[i][j]," ") // } // fmt.Println() // } var kong string fmt.Scanf("%s",&kong) xf,yf:=xc-1,yc-1 // xf,yf=yi(xf,yf,'R',arr) // fmt.Println(string(kong[7])) for i:=0; i<8; i++{ xf,yf=yi(xf,yf,kong[i],arr) // fmt.Println(xf,yf) // func yi(x,y int, i int, s string, a *[5][5]int) (x1,y1 int){ } fmt.Println(xf+1,yf+1) }
我试图弄清楚,但我需要找出问题出在哪里。你能帮我弄清楚吗(我不知道教授使用的用法)
如果我理解正确的话,我想你的代码可能忘记使用品种。在代码中,您写道:
for i:=0; i<8; i++{ xf,yf=yi(xf,yf,kong[i],arr) // fmt.println(xf,yf) // func yi(x,y int, i int, s string, a *[5][5]int) (x1,y1 int){ }
我认为8是一个主观的const
,我认为它应该改变。
这是我的解决方案,希望对您有所帮助:
package main import "fmt" func yi(x,y int, s byte, a [][]int) (x1,y1 int){ switch(s){ case 'L': for{ if y==0 || a[x][y-1]==1{ return x,y } y-- } case 'R': for{ if y==4 || a[x][y+1]==1{ return x,y } y++ } case 'U': for{ if x==0 || a[x-1][y]==1{ return x,y } x-- } case 'D': for{ if x==4 || a[x+1][y]==1{ return x,y } x++ } } return x1,y1 } func main() { var x,y,xc,yc,count int fmt.Scanf("%d %d",&x,&y) fmt.Scanf("%d %d",&xc,&yc) fmt.Scanf("%d",&count) // s:= make([]int,1,1) i:=count // } arr := make([][]int, x) for i := 0; i < x; i++ { arr[i] = make([]int, y) } // var arr [6][6]int for j:=0;j<i;j++{ var xt,yt int fmt.Scanf("%d %d",&xt,&yt) arr [xt-1][yt-1]=1 } // for i:=0;i<x;i++{ // for j:=0;j<y;j++{ // fmt.Print(arr[i][j]," ") // } // fmt.Println() // } var kong string fmt.Scanf("%s",&kong) xf,yf:=xc-1,yc-1 // xf,yf=yi(xf,yf,'R',arr) // fmt.Println(string(kong[7])) for i:=0; i<count; i++{ xf,yf=yi(xf,yf,kong[i],arr) // fmt.Println(xf,yf) // func yi(x,y int, i int, s string, a *[5][5]int) (x1,y1 int){ } fmt.Println(xf+1,yf+1) }
以上是我的代码可以通过3次使用,但我不知道为什么我不能通过另一个的详细内容。更多信息请关注PHP中文网其他相关文章!