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中文網其他相關文章!