CodinGame: Power of Thor - Episode 1 golang代碼

//if寫得我頭昏,還是case好用點

package main

import "fmt"
//import "os"

/**
 * Auto-generated code below aims at helping you parse
 * the standard input according to the problem statement.
 * ---
 * Hint: You can use the debug stream to print initialTX and initialTY, if Thor seems not follow your orders.
 **/

func main() {
    // lightX: the X position of the light of power
    // lightY: the Y position of the light of power
    // initialTX: Thor's starting X position
    // initialTY: Thor's starting Y position
    var lightX, lightY, initialTX, initialTY int
    fmt.Scan(&lightX, &lightY, &initialTX, &initialTY)
    
    for {
        // remainingTurns: The remaining amount of turns Thor can move. Do not remove this line.
        var remainingTurns int
        fmt.Scan(&remainingTurns)
        
        // if lightX > initialTX {
        //     if lightY > initialTY {
        //         fmt.Printf("SE\n" )
        //         initialTX++
        //         initialTY++
        //     } else {
        //         if lightY == initialTY {
        //             fmt.Printf("E\n" )
        //             initialTX++
        //         } else {
        //             fmt.Printf("NE\n" )
        //             initialTX++
        //             initialTY--
        //         }
        //     }
        // } else {
        //     if lightX == initialTX {
        //         if lightY > initialTY {
        //                fmt.Printf("S\n" )
        //                initialTY++
        //         } else {
        //                fmt.Printf("N\n" )
        //                initialTY--
        //         }
        //     } else {
        //         if lightY > initialTY {
        //                 fmt.Printf("SW\n" )
        //                 initialTY++
        //                 initialTX++
        //         } else {
        //             if lightY == initialTY{
        //                fmt.Printf("W\n" )
        //                initialTX++
        //             } else {
        //                 fmt.Printf("NW\n" )
        //                 initialTY--
        //                 initialTX++
        //             }
        //         } 
                
        //     }
                // }
                
                switch {
                    case lightX > initialTX && lightY > initialTY :
                        fmt.Printf("SE\n" )
                        initialTX++
                        initialTY++
                    case lightX > initialTX && lightY == initialTY :
                        fmt.Printf("E\n" )
                        initialTX++
                    case lightX > initialTX && lightY < initialTY :
                        fmt.Printf("NE\n" )
                        initialTX++
                        initialTY--
                    case lightX == initialTX && lightY > initialTY :
                        fmt.Printf("S\n" )
                        initialTY++
                    case lightX == initialTX && lightY <= initialTY :
                        fmt.Printf("N\n" )
                        initialTY--
                    case lightX < initialTX && lightY > initialTY :
                        fmt.Printf("SW\n" )
                        initialTY++
                        initialTX++
                    case lightX < initialTX && lightY == initialTY :
                        fmt.Printf("W\n" )
                        initialTX++
                    default:
                        fmt.Printf("NW\n" )
                        initialTY--
                        initialTX++
                }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章