题解 | #配置文件恢复#

配置文件恢复

http://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5

package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	input := bufio.NewScanner(os.Stdin)
	for input.Scan() {
		s := input.Text()
		solution(s)
	}

}

func solution(s string) {
	bs := strings.Split(s, " ")
	if len(bs) == 1 {
		if strings.HasPrefix("reset", bs[0]) {
			fmt.Println("reset what")
		} else {
			fmt.Println("unknown command")
		}
	} else {
		switch {
		case strings.HasPrefix("reset", bs[0]) || strings.HasPrefix("reboot", bs[0]):
			if strings.HasPrefix("reset", bs[0]) && !strings.HasPrefix("reboot", bs[0]) {
				if strings.HasPrefix("board", bs[1]) {
					fmt.Println("board fault")
				} else {
					fmt.Println("unknown command")
				}
			} else if !strings.HasPrefix("reset", bs[0]) && strings.HasPrefix("reboot", bs[0]) {
				if strings.HasPrefix("backplane", bs[1]) {
					fmt.Println("impossible")
				} else {
					fmt.Println("unknown command")
				}
			} else {
				if strings.HasPrefix("board", bs[1]) && strings.HasPrefix("backplane", bs[1]) {
					fmt.Println("unknown command")
				} else if strings.HasPrefix("board", bs[1]) {
					fmt.Println("board fault")
				} else {
					fmt.Println("impossible")
				}
			}

		case strings.HasPrefix("board", bs[0]) || strings.HasPrefix("backplane", bs[0]):
			if strings.HasPrefix("board", bs[0]) && !strings.HasPrefix("backplane", bs[0]) {
				if strings.HasPrefix("add", bs[1]) && strings.HasPrefix("delete", bs[1]) {
					fmt.Println("unknown command")

				} else if strings.HasPrefix("add", bs[1]) {
					fmt.Println("where to add")
				} else if strings.HasPrefix("delete", bs[1]) {
					fmt.Println("no board at all")
				} else {
					fmt.Println("unknown command")
				}
			} else if !strings.HasPrefix("board", bs[0]) && strings.HasPrefix("backplane", bs[0]) {
				if strings.HasPrefix("abort", bs[1]) {
					fmt.Println("install first")
				} else {
					fmt.Println("unknown command")
				}
			} else {
				if strings.HasPrefix("add", bs[1]) && strings.HasPrefix("delete", bs[1]) ||
					(strings.HasPrefix("add", bs[1]) && strings.HasPrefix("abort", bs[1])) ||
					(strings.HasPrefix("abort", bs[1]) && strings.HasPrefix("delete", bs[1])) {
					fmt.Println("unknown command")
				} else if strings.HasPrefix("add", bs[1]) {
					fmt.Println("where to add")
				} else if strings.HasPrefix("delete", bs[1]){
					fmt.Println("no board at all")
				} else if strings.HasPrefix("abort", bs[1]) {
					fmt.Println("install first")
				} else {
					fmt.Println("impossible")
				}
			}
		default: fmt.Println("unknown command")


}


}

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务